You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship" <hl...@comcast.net> on 2003/08/05 22:47:44 UTC
Server-Side Article on Maverick
Is Howard Lewis Ship the only person in the world (besides Christian Sell) who can write about
Tapestry?
I hope not ... because I'm just about written-out. The final bits of the book are just about done
and I'm sick of writing.
I was reading TheServerSide article on Maverick thinking ... a nice Tapestry article along these
lines would be nice.
If I get a chance, I'll bring the equivalent Tapestry application at Wafer up-to date with 3.0. But
I'd love to see someone else write up Tapestry for a change.
Any takers? I'll buy ya a beer!
--
Howard M. Lewis Ship
Creator, Tapestry: Java Web Components
http://jakarta.apache.org/tapestry
RE: Server-Side Article on Maverick
Posted by "Howard M. Lewis Ship" <hl...@comcast.net>.
I looked at this yesterday. Some idiot checked in stuff for a Struts version, didn't use classpath
variables but instead referenced hard-coded paths, didn't check the necessary libraries into CVS. I
just removed those portions from .classpath before giving up (because someone volunteered!).
--
Howard M. Lewis Ship
Creator, Tapestry: Java Web Components
http://jakarta.apache.org/tapestry
> -----Original Message-----
> From: Luis Neves [mailto:lneves@netcabo.pt]
> Sent: Wednesday, August 06, 2003 1:02 PM
> To: Tapestry development
> Subject: Re: Server-Side Article on Maverick
>
>
>
> Hi,
>
> On Wednesday 06 August 2003 13:50, Howard M. Lewis Ship wrote:
> > I am fully willing to delegate!
>
> SourceForge is conspiring against us!!!
> I took me three hours to checkout the wafer tapestry example
> just to realize
> that there are some missing bits of the application that are
> not present in
> the tapestry directory.
> I give up (at least for today) on trying to checkout those
> bits, SourceForge
> CVS keeps barfing, even CVSWeb is timing out.
> Nevertheless I made some changes to the code (these changes
> were done in the
> dark, I don't have the necessary files to make sure that the
> application is
> working).
> A summary of the changes:
> -Updated the libraries to those from the 3.0Beta2 release and
> changed the
> build.xml file accordingly.
> -Changed the references of net.tapestry to
> org.apache.tapestry. -Deleted the "throws
> RequestCycleException" clause. -Replaced the
> RequestCycleException for ApplicationRuntimeException (not sure
> about this one).
> -Replaced cycle.setPage() for cycle.activate().
> -Made use of property-specification element where
> appropriate. -Updated the use of IValidationDelegate.record()
> to conform with 3.0Beta2
> syntax.
> -Replace the DTD id.
> -Replaced the notation foo="[[ bar ]]" for foo="ognl:bar" in
> the templates.
>
> The code is available at:
> http://pwp.netcabo.pt/lneves/tapestryapps/file> s/wafer.tar.gz
>
>
>
> I don't have more time to dedicate to this
> today ... it can take up to 2 weeks
> until I have another break to play with the code again...
> stupid sourceforge
> :-(
>
> Regards,
> Luis Neves
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
Re: Server-Side Article on Maverick
Posted by Luis Neves <ln...@netcabo.pt>.
Hi,
On Wednesday 06 August 2003 13:50, Howard M. Lewis Ship wrote:
> I am fully willing to delegate!
SourceForge is conspiring against us!!!
I took me three hours to checkout the wafer tapestry example just to realize
that there are some missing bits of the application that are not present in
the tapestry directory.
I give up (at least for today) on trying to checkout those bits, SourceForge
CVS keeps barfing, even CVSWeb is timing out.
Nevertheless I made some changes to the code (these changes were done in the
dark, I don't have the necessary files to make sure that the application is
working).
A summary of the changes:
-Updated the libraries to those from the 3.0Beta2 release and changed the
build.xml file accordingly.
-Changed the references of net.tapestry to org.apache.tapestry.
-Deleted the "throws RequestCycleException" clause.
-Replaced the RequestCycleException for ApplicationRuntimeException (not sure
about this one).
-Replaced cycle.setPage() for cycle.activate().
-Made use of property-specification element where appropriate.
-Updated the use of IValidationDelegate.record() to conform with 3.0Beta2
syntax.
-Replace the DTD id.
-Replaced the notation foo="[[ bar ]]" for foo="ognl:bar" in the templates.
The code is available at:
http://pwp.netcabo.pt/lneves/tapestryapps/files/wafer.tar.gz
I don't have more time to dedicate to this today ... it can take up to 2 weeks
until I have another break to play with the code again... stupid sourceforge
:-(
Regards,
Luis Neves
RE: Server-Side Article on Maverick
Posted by "Howard M. Lewis Ship" <hl...@comcast.net>.
I am fully willing to delegate!
--
Howard M. Lewis Ship
Creator, Tapestry: Java Web Components
http://jakarta.apache.org/tapestry
> -----Original Message-----
> From: Luis Neves [mailto:lneves@netcabo.pt]
> Sent: Wednesday, August 06, 2003 7:27 AM
> To: Tapestry development; Howard M. Lewis Ship
> Subject: Re: Server-Side Article on Maverick
>
>
> On Tuesday 05 August 2003 21:47, Howard M. Lewis Ship wrote:
>
> > If I get a chance, I'll bring the equivalent Tapestry
> application at
> > Wafer up-to date with 3.0.
>
> Don't bother. I will take care of that.
>
> Regards,
> Luis Neves
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
Re: Server-Side Article on Maverick
Posted by Luis Neves <ln...@netcabo.pt>.
On Tuesday 05 August 2003 21:47, Howard M. Lewis Ship wrote:
> If I get a chance, I'll bring the equivalent Tapestry application at Wafer
> up-to date with 3.0.
Don't bother. I will take care of that.
Regards,
Luis Neves
Re: Server-Side Article on Maverick
Posted by Harish Krishnaswamy <hk...@comcast.net>.
Howard,
I had started on an article a little while back and hadn't had the the
time to finish it up. I will be glad to take it up and finish it if you
or anyone else someone can eye-ball it for errors. You may find the
article at http://mywpages.comcast.net/hkrishnaswamy/. Let me know.
-Harish
Howard M. Lewis Ship wrote:
>Is Howard Lewis Ship the only person in the world (besides Christian Sell) who can write about
>Tapestry?
>
>I hope not ... because I'm just about written-out. The final bits of the book are just about done
>and I'm sick of writing.
>
>I was reading TheServerSide article on Maverick thinking ... a nice Tapestry article along these
>lines would be nice.
>
>If I get a chance, I'll bring the equivalent Tapestry application at Wafer up-to date with 3.0. But
>I'd love to see someone else write up Tapestry for a change.
>
>Any takers? I'll buy ya a beer!
>
>--
>Howard M. Lewis Ship
>Creator, Tapestry: Java Web Components
>http://jakarta.apache.org/tapestry
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
>
>
>
Re: OGNL
Posted by Vince Marco <vm...@mac.com>.
>You could create an application extension:
>
>
Ok. Now this looks entirely appropriate and simple.
>You can specify the Global type as a property in the .application file too..
>
><property name="org.apache.tapestry.global-class" value="your class"/>
>
>
>
Got it, thanks. I was under the impression that the Global object
provided access to ServletContext parameters via the default HashMap,
but I see that it is just STORED in the ServletContext as a parameter.
This ends up being very simple as well.
Re: OGNL
Posted by Geoff Longman <gl...@intelligentworks.com>.
You could create an application extension:
Make a bean that does the required init in its constructor.
add an extension element to the .application file and mark it as immediate
which means "load on startup".
http://jakarta.apache.org/tapestry/doc/DevelopersGuide/spec.extension.html
Or do as you suggest below...
> Here's a question. If I use a custom Global-class in the
> web.application, do I need to override BaseEngine in order to create
> it? Seems pretty redundant to have to do both things. Why not have an
> IGlobal interface that handles the ServletContext parameters, so that
> BaseEngine can create my own Global class. Then I just have to specify
> my custom class in the web.application, and presto (like the Visit).
You can specify the Global type as a property in the .application file too..
<property name="org.apache.tapestry.global-class" value="your class"/>
Geoff
Re: OGNL
Posted by Vince Marco <vm...@mac.com>.
Ok, then help me out here. I haven't read or seen any extending of the
servlet, and I'd prefer not to have to bring in yet another extension to
learn.
All I am asking for is an existing initialization hook that always gets
called when an app is deployed. I chose the engine because I am
guessing that IEngine.createGlobal() gets called on deployment to load
the ServletContext into the Global object.
This seems like it could be an effective place to do this, given that I
didn't find a more suitable method (such as initialize()) that I could
tie into in the IEngine. This doesn't cause any state in the IEngine
and it doesn't care that the engine is session bound or if the app is
stateful.
The only reason that I would share your assessment is if the
IEngine.createGlobal() isn't specifically called to create the Global at
app deployment.
Here's a question. If I use a custom Global-class in the
web.application, do I need to override BaseEngine in order to create
it? Seems pretty redundant to have to do both things. Why not have an
IGlobal interface that handles the ServletContext parameters, so that
BaseEngine can create my own Global class. Then I just have to specify
my custom class in the web.application, and presto (like the Visit).
Then I could put the OGNL hook in my custom Global constructor, with no
fuss or muss with overriding the Engine. It is, effectively global app
behavior by the way.
Any thoughts or comments?
Vince
>i'd expect the servlet to be a better place to initialise this than the
>engine. engines are session bound afterall (for statelful apps anyway)...
>
>
>
>>Very cool, and easy to boot!!
>>
>>So, now where is the best place to install this handler in Tapesry? Is
>>there an initialize method off the engine?
>>
>>
>>
Re: OGNL
Posted by Richard Lewis-Shell <rl...@mac.com>.
i'd expect the servlet to be a better place to initialise this than the
engine. engines are session bound afterall (for statelful apps anyway)...
R
----- Original Message -----
From: "Vince Marco" <vm...@mac.com>
To: "Tapestry development" <ta...@jakarta.apache.org>
Sent: Thursday, August 07, 2003 2:57 PM
Subject: Re: OGNL
> Very cool, and easy to boot!!
>
> So, now where is the best place to install this handler in Tapesry? Is
> there an initialize method off the engine?
>
> Vince
>
> > You could set the NullHandler for Object.class and that would get
> > called when any object has a null evaluation:
> >
> > OgnlRuntime.setNullHandler( Object.class, new
> > MyObjectNullHandler());
> >
> > The default NullHander (ObjectNullHandler) gets installed this way and
> > simply allows null to filter through and cause NullPointerExceptions.
> > You could install one that interrogates the target object for its
> > class and proceeds from there.
> >
> > - Drew
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
Re: OGNL
Posted by Vince Marco <vm...@mac.com>.
Very cool, and easy to boot!!
So, now where is the best place to install this handler in Tapesry? Is
there an initialize method off the engine?
Vince
> You could set the NullHandler for Object.class and that would get
> called when any object has a null evaluation:
>
> OgnlRuntime.setNullHandler( Object.class, new
> MyObjectNullHandler());
>
> The default NullHander (ObjectNullHandler) gets installed this way and
> simply allows null to filter through and cause NullPointerExceptions.
> You could install one that interrogates the target object for its
> class and proceeds from there.
>
> - Drew
>
Re: OGNL
Posted by Richard Lewis-Shell <rl...@mac.com>.
> You could set the NullHandler for Object.class and that would get called
> when any object has a null evaluation:
>
> OgnlRuntime.setNullHandler( Object.class, new
> MyObjectNullHandler());
>
> The default NullHander (ObjectNullHandler) gets installed this way and
> simply allows null to filter through and cause NullPointerExceptions.
> You could install one that interrogates the target object for its class
> and proceeds from there.
perfect!
R
Re: OGNL
Posted by Drew Davidson <dr...@ognl.org>.
Richard Lewis-Shell wrote:
>>Say, one aspect of Struts I find very annoying is that when I'm using
>>their expressions to access JBs and a null is down the line (ie.
>>"office.city.address.line1" and address is null). I want to handle
>>this as elegantly as possible in Tapestry without adding a null handler
>>to every JB class. Can I add the null handler to an abstract class and
>>have it effect instances of inherited classes? This seems to be an
>>OGNL question.
>>
>>
>
>i'd love to be able to do this across inheritance hierarchies too. i.e. a
>default null handler that would apply if no other handler were specified
>would be excellent. effectively just wanting a way to have OGNL evaluate an
>expression "a.b.c.d" as null if _any_ of "a", "a.b", "a.b.c", or "a.b.c.d"
>evaluate to null.
>
>
You could set the NullHandler for Object.class and that would get called
when any object has a null evaluation:
OgnlRuntime.setNullHandler( Object.class, new
MyObjectNullHandler());
The default NullHander (ObjectNullHandler) gets installed this way and
simply allows null to filter through and cause NullPointerExceptions.
You could install one that interrogates the target object for its class
and proceeds from there.
- Drew
--
+---------------------------------+
< Drew Davidson | OGNL Technology >
< Professional Open Source >
+---------------------------------+
| Email: drew@ognl.org /
| Web: http://www.ognl.org /
| Vox: (520) 531-1966 <
| Fax: (520) 531-1965 \
| Mobile: (520) 405-2967 \
+---------------------------------+
Re: Re:OGNL
Posted by Richard Lewis-Shell <rl...@mac.com>.
> Say, one aspect of Struts I find very annoying is that when I'm using
> their expressions to access JBs and a null is down the line (ie.
> "office.city.address.line1" and address is null). I want to handle
> this as elegantly as possible in Tapestry without adding a null handler
> to every JB class. Can I add the null handler to an abstract class and
> have it effect instances of inherited classes? This seems to be an
> OGNL question.
i'd love to be able to do this across inheritance hierarchies too. i.e. a
default null handler that would apply if no other handler were specified
would be excellent. effectively just wanting a way to have OGNL evaluate an
expression "a.b.c.d" as null if _any_ of "a", "a.b", "a.b.c", or "a.b.c.d"
evaluate to null.
R
Re: Re:OGNL
Posted by Richard Lewis-Shell <rl...@mac.com>.
Oh, now that would rock! I can see it now - right-click on a Tapestry tag
in a template, and select "Don't be so lazy..." from the menu ;-)
R
----- Original Message -----
From: "Geoff Longman" <gl...@intelligentworks.com>
To: "Tapestry development" <ta...@jakarta.apache.org>
Sent: Wednesday, August 06, 2003 2:21 PM
Subject: Re: Re:OGNL
> One of the goals of the new Spindle... I duck now to avoid the
> inevitable "where is it!?!" responses ... is to have a faclility to
> migrate template style component declartions to traditional specification
> based declarations.
>
> ie. MyPage.html...
>
> <span
> jwcid="someId@PropertySelection"
>
>
model="ognl:@telepathy.cust_operator.CustOperatorSummary@TeacherTypeSelectio
> nModel"
> value="ognl:teacherType"
> submitOnChange="ognl:true">
> ...
>
> into
>
> < span jwcid="someId">
> ...
>
> with the tapestry stuff moved automagically into MyPage.page
>
> <component id="someId" type="PropertySelection">
> <binding name="model">
>
> telepathy.cust_operator.CustOperatorSummary@TeacherTypeSelectionModel
> </binding>
> <binding name="value">
> teacherType
> </binding>
> <binding name="submitOnChange">
> true
> </binding>
> </component>
>
> I want this feature real bad 'cuz is using the template decls rocks for
> prototyping
> but it sucks when one has to migrate them by hand.
>
> Geoff
>
> ----- Original Message -----
> From: "Vince Marco" <vm...@mac.com>
> To: "Tapestry development" <ta...@jakarta.apache.org>
> Sent: Tuesday, August 05, 2003 9:45 PM
> Subject: Re:OGNL
>
>
> > > I've tried to get people interested in OGNL, but it seems that it is a
> > > "stealth" project. People use it within their frameworks and
> > > projects, but it doesn't get any press or recognition :-(
> >
> > Well, so far my experience with OGNL is that it is a real time (and
> > code) saver in the specification files. It helps me avoid classes
> > where I really shouldn't need one. Great for bindings.
> >
> > But I do like to limit (if not eliminate) all OGNL expressions from my
> > templates. My whole excitement about Tapestry is to avoid the same
> > problem I end up with using JSPs and Struts...which is that I end up
> > mixing logic into my HTML.
> >
> > But there are times when expediency wins out, at least in the near term
> > and I use an occasional OGNL expression in the HTML template.
> >
> > I need to get more into OGNL, as I'm sure it can do much more for me.
> >
> > Say, one aspect of Struts I find very annoying is that when I'm using
> > their expressions to access JBs and a null is down the line (ie.
> > "office.city.address.line1" and address is null). I want to handle
> > this as elegantly as possible in Tapestry without adding a null handler
> > to every JB class. Can I add the null handler to an abstract class and
> > have it effect instances of inherited classes? This seems to be an
> > OGNL question.
> >
> > Thanks,
> >
> > Vince
> >
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> > Vince Marco
> > Enterprise Frameworks, Inc.
> > vmarco@mac.com
> >
>
>
>
> >
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> >
> >
> >
>
>
>
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
Re: OGNL
Posted by Harish Krishnaswamy <hk...@comcast.net>.
That would be an awesome feature. I was thinking the other day that the
only thing that is hard to do with Tapestry is refactoring with all the
html and xml stuff. May be this feature can be extended later to allow
refactoring. Cool, exciting.
-Harish
Geoff Longman wrote:
>One of the goals of the new Spindle... I duck now to avoid the
>inevitable "where is it!?!" responses ... is to have a faclility to
>migrate template style component declartions to traditional specification
>based declarations.
>
>ie. MyPage.html...
>
><span
> jwcid="someId@PropertySelection"
>
>model="ognl:@telepathy.cust_operator.CustOperatorSummary@TeacherTypeSelectio
>nModel"
> value="ognl:teacherType"
> submitOnChange="ognl:true">
>...
>
>into
>
>< span jwcid="someId">
>...
>
>with the tapestry stuff moved automagically into MyPage.page
>
><component id="someId" type="PropertySelection">
> <binding name="model">
>
>telepathy.cust_operator.CustOperatorSummary@TeacherTypeSelectionModel
> </binding>
> <binding name="value">
> teacherType
> </binding>
> <binding name="submitOnChange">
> true
> </binding>
></component>
>
>I want this feature real bad 'cuz is using the template decls rocks for
>prototyping
>but it sucks when one has to migrate them by hand.
>
>Geoff
>
>----- Original Message -----
>From: "Vince Marco" <vm...@mac.com>
>To: "Tapestry development" <ta...@jakarta.apache.org>
>Sent: Tuesday, August 05, 2003 9:45 PM
>Subject: Re:OGNL
>
>
>
>
>>>I've tried to get people interested in OGNL, but it seems that it is a
>>>"stealth" project. People use it within their frameworks and
>>>projects, but it doesn't get any press or recognition :-(
>>>
>>>
>>Well, so far my experience with OGNL is that it is a real time (and
>>code) saver in the specification files. It helps me avoid classes
>>where I really shouldn't need one. Great for bindings.
>>
>>But I do like to limit (if not eliminate) all OGNL expressions from my
>>templates. My whole excitement about Tapestry is to avoid the same
>>problem I end up with using JSPs and Struts...which is that I end up
>>mixing logic into my HTML.
>>
>>But there are times when expediency wins out, at least in the near term
>>and I use an occasional OGNL expression in the HTML template.
>>
>>I need to get more into OGNL, as I'm sure it can do much more for me.
>>
>>Say, one aspect of Struts I find very annoying is that when I'm using
>>their expressions to access JBs and a null is down the line (ie.
>>"office.city.address.line1" and address is null). I want to handle
>>this as elegantly as possible in Tapestry without adding a null handler
>>to every JB class. Can I add the null handler to an abstract class and
>>have it effect instances of inherited classes? This seems to be an
>>OGNL question.
>>
>>Thanks,
>>
>>Vince
>>
>>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>>Vince Marco
>>Enterprise Frameworks, Inc.
>>vmarco@mac.com
>>
>>
>>
>
>
>
>
>
>>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>>
>>
>>
>>
>>
>
>
>
>
>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>>
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
>
>
>
Re: Re:OGNL
Posted by Geoff Longman <gl...@intelligentworks.com>.
One of the goals of the new Spindle... I duck now to avoid the
inevitable "where is it!?!" responses ... is to have a faclility to
migrate template style component declartions to traditional specification
based declarations.
ie. MyPage.html...
<span
jwcid="someId@PropertySelection"
model="ognl:@telepathy.cust_operator.CustOperatorSummary@TeacherTypeSelectio
nModel"
value="ognl:teacherType"
submitOnChange="ognl:true">
...
into
< span jwcid="someId">
...
with the tapestry stuff moved automagically into MyPage.page
<component id="someId" type="PropertySelection">
<binding name="model">
telepathy.cust_operator.CustOperatorSummary@TeacherTypeSelectionModel
</binding>
<binding name="value">
teacherType
</binding>
<binding name="submitOnChange">
true
</binding>
</component>
I want this feature real bad 'cuz is using the template decls rocks for
prototyping
but it sucks when one has to migrate them by hand.
Geoff
----- Original Message -----
From: "Vince Marco" <vm...@mac.com>
To: "Tapestry development" <ta...@jakarta.apache.org>
Sent: Tuesday, August 05, 2003 9:45 PM
Subject: Re:OGNL
> > I've tried to get people interested in OGNL, but it seems that it is a
> > "stealth" project. People use it within their frameworks and
> > projects, but it doesn't get any press or recognition :-(
>
> Well, so far my experience with OGNL is that it is a real time (and
> code) saver in the specification files. It helps me avoid classes
> where I really shouldn't need one. Great for bindings.
>
> But I do like to limit (if not eliminate) all OGNL expressions from my
> templates. My whole excitement about Tapestry is to avoid the same
> problem I end up with using JSPs and Struts...which is that I end up
> mixing logic into my HTML.
>
> But there are times when expediency wins out, at least in the near term
> and I use an occasional OGNL expression in the HTML template.
>
> I need to get more into OGNL, as I'm sure it can do much more for me.
>
> Say, one aspect of Struts I find very annoying is that when I'm using
> their expressions to access JBs and a null is down the line (ie.
> "office.city.address.line1" and address is null). I want to handle
> this as elegantly as possible in Tapestry without adding a null handler
> to every JB class. Can I add the null handler to an abstract class and
> have it effect instances of inherited classes? This seems to be an
> OGNL question.
>
> Thanks,
>
> Vince
>
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> Vince Marco
> Enterprise Frameworks, Inc.
> vmarco@mac.com
>
>
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
Re:OGNL
Posted by Vince Marco <vm...@mac.com>.
> I've tried to get people interested in OGNL, but it seems that it is a
> "stealth" project. People use it within their frameworks and
> projects, but it doesn't get any press or recognition :-(
Well, so far my experience with OGNL is that it is a real time (and
code) saver in the specification files. It helps me avoid classes
where I really shouldn't need one. Great for bindings.
But I do like to limit (if not eliminate) all OGNL expressions from my
templates. My whole excitement about Tapestry is to avoid the same
problem I end up with using JSPs and Struts...which is that I end up
mixing logic into my HTML.
But there are times when expediency wins out, at least in the near term
and I use an occasional OGNL expression in the HTML template.
I need to get more into OGNL, as I'm sure it can do much more for me.
Say, one aspect of Struts I find very annoying is that when I'm using
their expressions to access JBs and a null is down the line (ie.
"office.city.address.line1" and address is null). I want to handle
this as elegantly as possible in Tapestry without adding a null handler
to every JB class. Can I add the null handler to an abstract class and
have it effect instances of inherited classes? This seems to be an
OGNL question.
Thanks,
Vince
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Vince Marco
Enterprise Frameworks, Inc.
vmarco@mac.com
Re: Server-Side Article on Maverick
Posted by Drew Davidson <dr...@ognl.org>.
Vince Marco wrote:
>
>> Is Howard Lewis Ship the only person in the world (besides Christian
>> Sell) who can write about
>> Tapestry?
>>
>
> I could also see an article focusing on OGNL usage within Tapestry as
> being extremely worthwhile. We're starting to collect quite a few
> patterns and anti-patterns of OGNL usage through our efforts.
I've tried to get people interested in OGNL, but it seems that it is a
"stealth" project. People use it within their frameworks and projects,
but it doesn't get any press or recognition :-(
The Sun people with whom I've talked have given it an icy reception.
Perhaps the competition with their EL makes it not very "positionable"
within their product vision.
- Drew
--
+---------------------------------+
< Drew Davidson | OGNL Technology >
< Professional Open Source >
+---------------------------------+
| Email: drew@ognl.org /
| Web: http://www.ognl.org /
| Vox: (520) 531-1966 <
| Fax: (520) 531-1965 \
| Mobile: (520) 405-2967 \
+---------------------------------+
Re: Server-Side Article on Maverick
Posted by Drew Davidson <dr...@ognl.org>.
Vince Marco wrote:
>
>> Is Howard Lewis Ship the only person in the world (besides Christian
>> Sell) who can write about
>> Tapestry?
>>
>
> I could also see an article focusing on OGNL usage within Tapestry as
> being extremely worthwhile. We're starting to collect quite a few
> patterns and anti-patterns of OGNL usage through our efforts.
I'd be very interested in seeing this.
- Drew
--
+---------------------------------+
< Drew Davidson | OGNL Technology >
< Professional Open Source >
+---------------------------------+
| Email: drew@ognl.org /
| Web: http://www.ognl.org /
| Vox: (520) 531-1966 <
| Fax: (520) 531-1965 \
| Mobile: (520) 405-2967 \
+---------------------------------+
Re: Server-Side Article on Maverick
Posted by Vince Marco <vm...@mac.com>.
> Is Howard Lewis Ship the only person in the world (besides Christian
> Sell) who can write about
> Tapestry?
>
I could also see an article focusing on OGNL usage within Tapestry as
being extremely worthwhile. We're starting to collect quite a few
patterns and anti-patterns of OGNL usage through our efforts.
Re: Server-Side Article on Maverick
Posted by Vince Marco <vm...@mac.com>.
> Is Howard Lewis Ship the only person in the world (besides Christian
> Sell) who can write about
> Tapestry?
I'm interested in writing on Tapestry. I've co-authored J2EE 1.3
Complete and ghost-authored several articles for the JDJ,
Developer.com, and Java Boutique.
James Hays and myself are undertaking some migration from Struts to
Tapestry. We have been planning on putting together an article
covering an Intro to Tapestry, specifically from the perspective of
carving a productive path through common web development tasks, rather
than a comprehensive view of Tapestry.
First draft should be a week or 2 out.
Vince
PS - I know how you feel. After the book effort I was completely
drained.