【问题标题】:Struts html:form with different actionsStruts html:具有不同操作的表单
【发布时间】:2012-06-25 19:42:26
【问题描述】:

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

【问题讨论】:

    标签: html forms struts submit struts-action


    【解决方案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标签。

    【讨论】:

    • 谢谢!我实际上是使用 scriplet 和 java 完成的,这和这个是一样的!
    【解决方案2】:

    我也遇到过类似的问题:

    无法检索操作 /${theAction} 的映射

    我将 ${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>
    

    编辑:实际上我很困惑,为什么它使用 符号?是不是因为html标签解释不正确?

    【讨论】:

      猜你喜欢
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多