我有一个基于html:form动作提交的jsp。
<html:form action="/nextPath">
我想根据变量或当前路径等设置动作。等等
<d:isActionPath path="/path1" >
<html:form action="/nextPath1">
</d:isActionPath>
<d:isActionPath path="/path2" >
<html:form action="/nextPath2">
</d:isActionPath>
这不起作用。但这基本上是我想做的。
有什么建议吗?对struts来说很新。
答案 0 :(得分:1)
<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标记必须正确平衡,就像在XML文档中一样。您无法打开代码d:isActionPath
,打开代码html:form
并关闭d:isActionPath
代码,而无需关闭html:form
代码。
答案 1 :(得分:1)
我遇到了类似的问题:
无法检索操作/ $ {theAction}
的映射
我用&lt;%= theAction%&gt; 替换了 $ {theAction} ,它对我有用(struts 1.2.9,J2SE-1.5和jboss-4.2) .3.GA)。
所以你可以试试像:
<% 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>
编辑:我实际上很困惑,为什么它使用 &lt;%=%&gt; 表示法?是因为 html 标记未正确解释?