Re: html:link question (for a relative newbie)

2003-09-18 Thread Joe Germuska
At 13:45 -0700 9/18/03, Zimmerman, Steven R. wrote:
I cannot seem to get this to work
html:link
page=/collaborator.do?mode=editcode=%=code%Edit/html:link
You can only use a runtime expression as the complete content of a 
JSP tag attribute, if at all.  So, you could do something like this:

bean:define name=temp 
type=java.lang.String/collaborator.do?mode=editcode=%=code%/bean:define
html:link page=%=temp%Edit/html:link

or better yet this instead
html:link
action=collaborator.do?mode=editcode=%=code%Edit/html:link
To pass parameters to URLs built from the action attribute, you can 
use paramId, paramName, paramProperty, and paramScope to pass a 
single parameter, or name (and optionally property) to identify a Map 
whose keys are parameter names and whose values are corresponding 
parameter values.  See 
http://jakarta.apache.org/struts/userGuide/struts-html.html#link for 
details.

Actually, you can use these to pass parameters to any url, but if you 
use the action attribute, this is the only way to do it.

For what you define above, you may prefer to establish the 
mode=edit state by using a different ActionMapping.  Something like:

action path=/CollaboratorEdit parameter=edit 
type=com.example.CollaboratorAction ... /
action path=/CollaboratorView parameter=view 
type=com.example.CollaboratorAction ... /

Your action class can use mapping.getParameter() to find out 
whether it's in edit or view mode just as easily as it could consult 
the mode property of an ActionForm (or the mode request 
parameter).

In my opinion, this is more elegant, and it saves the hassle of 
appending multiple parameters in html:link using a Map.

The c:url tag in the JSTL supports a c:param subtag for adding an 
arbitrary number of parameters to a URL.  Of course, it doesn't know 
how to dereference an action path.  There's been some talk about 
adding a similar tag in Struts, but no one has been motivated to 
write it yet.

Joe

--
--
Joe Germuska
[EMAIL PROTECTED]  
http://blog.germuska.com
If nature worked that way, the universe would crash all the time. 
	--Jaron Lanier

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


Re: html:link question (for a relative newbie)

2003-09-18 Thread denis

A quick hack you can do is:
%java.util.HashMap ha = new java.util.HashMap(); ha.put(mode,edit);
ha.put(code, code); pageContext.setAttribute(linkParams,ha);%
html:link href=collaborator.do name=linkParamsEdit/html:link

I usually build my link hashmap in the setup action for the jsp, but you can
do this.



- Original Message - 
From: Zimmerman, Steven R. [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, September 18, 2003 4:45 PM
Subject: html:link question (for a relative newbie)


 I cannot seem to get this to work
 html:link
 page=/collaborator.do?mode=editcode=%=code%Edit/html:link

 or better yet this instead
 html:link
 action=collaborator.do?mode=editcode=%=code%Edit/html:link

 but the %=code% is not picking up the value of code, instead it is
 putting %=code% in its place.  That all makes sense why, but is there
a
 way I can get at a expression using Struts tags like I can using the code
 below with a hard coded HREF ('cuse it works fine there but is not what I
 want).
   A href=logon.jsp?task=deletecode=%=code%Delete/A

 All else works fine, I realize that I could be chaining actions or some
 other do not do but I am under a bit of a time crunch (as always... :).
 TIA, Steve

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



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



RE: html:link question (for a relative newbie)

2003-09-18 Thread Ray Madigan
If you are not opposed to using the JSTL standard library

I personally have a difficult time keeping track of the parameters
and values using the other syntax.

c:url value='/collaborator.do' var='collaboratorURL'
  c:param name='mode' value='edit'/
  c:param name='code' value='${code}'/
/c:url
html-el:link href='${collaboratorURL}'
 Edit 
/html-el:link

-Original Message-
From: Zimmerman, Steven R. [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 18, 2003 1:45 PM
To: '[EMAIL PROTECTED]'
Subject: html:link question (for a relative newbie)


I cannot seem to get this to work
html:link
page=/collaborator.do?mode=editcode=%=code%Edit/html:link

or better yet this instead
html:link
action=collaborator.do?mode=editcode=%=code%Edit/html:link

but the %=code% is not picking up the value of code, instead it is
putting %=code% in its place.  That all makes sense why, but is there a
way I can get at a expression using Struts tags like I can using the code
below with a hard coded HREF ('cuse it works fine there but is not what I
want).
  A href=logon.jsp?task=deletecode=%=code%Delete/A

All else works fine, I realize that I could be chaining actions or some
other do not do but I am under a bit of a time crunch (as always... :).
TIA, Steve

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


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