Reputation: 380
I have a jsp with a submit based on the html:form action.
<html:form action="/nextPath">
I want to set the action based on a variable, or current path.. etc
<d:isActionPath path="/path1" >
<html:form action="/nextPath1">
</d:isActionPath>
<d:isActionPath path="/path2" >
<html:form action="/nextPath2">
</d:isActionPath>
This does not work. But this is essentially want I want to do.
Any suggestions? Very new to struts.
Upvotes: 1
Views: 4205
Reputation: 2080
I had a similar problem:
Cannot retrieve mapping for action /${theAction}
I replaced ${theAction} by <%= theAction %> and it worked for me (struts 1.2.9, J2SE-1.5 and jboss-4.2.3.GA).
So you may try something like:
<% String theAction = "/nextPath"; %>
<d:isActionPath path="/path1" >
<% theAction = "/nextPath1"; %>
</d:isActionPath>
<d:isActionPath path="/path2" >
<% theAction = "/nextPath2"; %>
</d:isActionPath>
<html:form action="<%= theAction %>">
...
</html:form>
Edit: I’m confuse actually, why is it working with the <%= %> notation? Is it because the html tag is not interpreted correctly?
Upvotes: 1
Reputation: 691735
<d:isActionPath path="/path1" >
<c:set var="theAction" value="/nextPath1"/>
</d:isActionPath>
<d:isActionPath path="/path2" >
<c:set var="theAction" value="/nextPath2"/>
</d:isActionPath>
<html:form action="${theAction}">
...
</html:form>
JSP tags must be balanced correctly, as in a XML document. You can't open a tag d:isActionPath
, open a tag html:form
and close the d:isActionPath
tag without having closed the html:form
tag.
Upvotes: 1