Struts html:表单有不同的动作

时间:2012-06-25 19:42:26

标签: html forms struts submit struts-action

我有一个基于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来说很新。

2 个答案:

答案 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 标记未正确解释?