Re: constant strings in the tags

2006-01-24 Thread Dave Newton
[EMAIL PROTECTED] wrote:
 One frequent location of this practice is the names for the attributes I set 
 on the session and request ojbects.  Most of the time, I then access these 
 attributes on my JSP pages via various struts and jstl tags.  But when I 
 reference these objects from the JSP side, I find that I can't use defined 
 constants.  This undermines like 50% of the benefit of using defined 
 constants for my attribute names.  
   
Huh, don't know why you wouldn't be able to do that.

Wait: you say you access the attributes on the JSP page but then say you
can't reference the objects on the JSP side.

Are you saying that you do something like
:request.setAttribute(foo.bar.attributeNames.BAZ, results) but in JSP
you're not able to do the same thing?
 But I don't know how to do this.  Anybody know how?
   
What, exactly, are you trying to do? You can access anything on a JSP
page by %@ page import=...%-ing it. You can access things by putting
them into scope. You can put strings into a resource file and access
them from both JSP and code, and you get automagically I18Nized to boot.

Dave



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: constant strings in the tags

2006-01-24 Thread [EMAIL PROTECTED]

Here's what I usually do:


 request.setAttribute( Constants.USER, userObject );

and the Constants.java defines

 public final static String USER = theUser;

then in the JSP

 c:out value=${theUser.name}/


But I want to be able to do something like

 c:out value=${Constants.USER.name}/


I've never actually tried this.  Maybe I should before posting this, but I 
don't know why it would work.  I thought the EL only had access to bean 
properties?  So why would it be able to access a field directly?
 



 --- On Tue 01/24, Dave Newton  [EMAIL PROTECTED]  wrote:
From: Dave Newton [mailto: [EMAIL PROTECTED]
To: user@struts.apache.org
Date: Tue, 24 Jan 2006 10:48:11 -0500
Subject: Re: constant strings in the tags

[EMAIL PROTECTED] wrote: One frequent location of this practice is the names 
for the attributes I set on the session and request ojbects.  Most of the time, 
I then access these attributes on my JSP pages via various struts and jstl 
tags.  But when I reference these objects from the JSP side, I find that I 
can't use defined constants.  This undermines like 50% of the benefit of using 
defined constants for my attribute names. Huh, don't know why you wouldn't 
be able to do that.Wait: you say you access the attributes on the JSP page but 
then say youcan't reference the objects on the JSP side.Are you saying that you 
do something like:request.setAttribute(foo.bar.attributeNames.BAZ, results) but 
in JSPyou're not able to do the same thing? But I don't know how to do this.  
Anybody know how?   What, exactly, are you trying to do? You can access 
anything on a JSPpage by %@ page import=...%-ing it. You can access things 
by puttingthem into scope. You can put strings 
into a resource file and accessthem from both JSP and code, and you get 
automagically I18Nized to 
boot.Dave-To
 unsubscribe, e-mail: [EMAIL PROTECTED] additional commands, e-mail: [EMAIL 
PROTECTED]

___
Join Excite! - http://www.excite.com
The most personalized portal on the Web!



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: constant strings in the tags

2006-01-24 Thread Dave Newton
[EMAIL PROTECTED] wrote:
 But I want to be able to do something like

  c:out value=${Constants.USER.name}/


 I've never actually tried this.  Maybe I should before posting this, but I 
 don't know why it would work.  I thought the EL only had access to bean 
 properties?  So why would it be able to access a field directly?
   
Ah. Can't.

Sucks, huh? As Rahul said, push for the fix.

In general, when I've dealt with strong separation between presentation
and back-end teams, I've just said Hey, you have access to something
through the 'user' name and here's what a 'user' has for you... If it
needs to change (I don't think I've ever actually changed one) then I
would have just passed on the change.

One project I was marginally involved on (over-)used custom tags to
handle issues like this, so the page designer would just say x:user
property=name/ etc. Didn't care for it myself, but JSP 2.0 didn't
exist yet, and we were all pretty anti-scriptlet, so hey.

Dave



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: constant strings in the tags

2006-01-24 Thread [EMAIL PROTECTED]

Surely they thought about this and decided there was some reason not to make 
the constants available in the tags.  Or was it just too difficult a task for 
some finite period of development time?  




 --- On Tue 01/24, Dave Newton  [EMAIL PROTECTED]  wrote:
From: Dave Newton [mailto: [EMAIL PROTECTED]
To: user@struts.apache.org
Date: Tue, 24 Jan 2006 11:12:09 -0500
Subject: Re: constant strings in the tags

[EMAIL PROTECTED] wrote: But I want to be able to do something like  
c:out value=${Constants.USER.name}/ I've never actually tried this.  
Maybe I should before posting this, but I don't know why it would work.  I 
thought the EL only had access to bean properties?  So why would it be able to 
access a field directly?   Ah. Can't.Sucks, huh? As Rahul said, push for the 
fix.In general, when I've dealt with strong separation between presentationand 
back-end teams, I've just said Hey, you have access to somethingthrough the 
'user' name and here's what a 'user' has for you... If itneeds to change (I 
don't think I've ever actually changed one) then Iwould have just passed on the 
change.One project I was marginally involved on (over-)used custom tags 
tohandle issues like this, so the page designer would just say 
x:userproperty=name/ etc. Didn't care for it myself, but JSP 2.0 
didn'texist yet, and we were all pretty anti-scriptlet, so 
hey.Dave-To 
unsubscribe, e-mail: [EMAIL PROTECTED] additional commands, e-mail: [EMAIL 
PROTECTED]

___
Join Excite! - http://www.excite.com
The most personalized portal on the Web!



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: constant strings in the tags

2006-01-24 Thread Dave Newton
[EMAIL PROTECTED] wrote:
 Surely they thought about this and decided there was some reason not to make 
 the constants available in the tags.  Or was it just too difficult a task for 
 some finite period of development time?  
   
Well, I'm not sure how you'd differentiate between a named, scoped bean
and a fully-specified class name except by checking for a named, scoped
bean and if that fails looking up a class definition. You could add a
parameter to tags, but that wouldn't help for JSP 2.0 non-tag EL
expressions. Maybe by declaring a package name somewhere you could
finagle a way around it, but still seems warty.

Dave



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: constant strings in the tags

2006-01-24 Thread Ed Griebel
I've just started using the taglib unstandard in the Jakarta Sandbox
which has a JSP tag that does exactly what you want. Say you have a
class called org.myorg.Constants, this tag creates an associative
array of the members like so:
%@ taglib uri=http://jakarta.apache.org/taglibs/unstandard-1.0; prefix=un%
un:useConstants var=Constants className=org.myorg.Constants/
c:out value=My constant value: ${Constants.FOO}/

HTH,
-ed

On 1/24/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:




 In my action classes, and other java classes, I use defined constants for my 
 Strings.  This is a common best practice.

 One frequent location of this practice is the names for the attributes I set 
 on the session and request ojbects.  Most of the time, I then access these 
 attributes on my JSP pages via various struts and jstl tags.  But when I 
 reference these objects from the JSP side, I find that I can't use defined 
 constants.  This undermines like 50% of the benefit of using defined 
 constants for my attribute names.

 Since the strust platform seems to demonstrate best practices most of the 
 time, I find it hard to believe that there isn't some what to use defined 
 constants in the JSP side.  I guess that isn't strut's realm, strictly 
 speaking.  It seems that if the JSP is really just a servlet, then surely I 
 can use the defined constants just as I do from java code.  But I don't know 
 how to do this.  Anybody know how?

 ___
 Join Excite! - http://www.excite.com
 The most personalized portal on the Web!



 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




--
The greatest tyrannies are always perpetrated in the name of the
noblest causes. Thomas Paine
Those who would give up essential Liberty, to purchase a little
temporary Safety, deserve neither Liberty nor Safety - Benjamin
Franklin

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]