【问题标题】:How do I handle multiple actions in single form in wildcard action mapping?如何在通配符操作映射中以单一形式处理多个操作?
【发布时间】:2014-05-06 10:09:18
【问题描述】:

根据这个解决方案Struts2 handle multiple actions... 我知道 Struts2 DMI 可以轻松处理单个形式的多个 aciton。

最近,Struts2 出于安全问题关闭了 DMI 机制。现在,我们使用通配符映射来映射struts.xml中的所有操作

示例:

<action name="*/*" class="action.{1}Action" method="{2}">
    ...
</action>

在通配符映射中,处理单个表单中的多个动作/方法的映射有点问题。

<s:form action="actionA/method2" theme="simple" >
    <s:submit value="lastStep"  action="actionA/method1"/>
    <s:submit value="nextStep" />
</s:form>

我该如何解决这个问题?

【问题讨论】:

标签: java jsp struts2 wildcard-mapping dmi


【解决方案1】:

在 Struts2 中,即使 DMI 被关闭,仍然可以使用特殊参数 action:。在JSP中使用这个参数需要配置

在您的struts.xml 文件中:

<constant name="struts.mapper.action.prefix.enabled" value="true" />

当过滤器试图从过滤后的 URL 中获取操作映射时,操作映射器会处理特殊参数,当您使用 submit 标记的 action 属性时,此参数会添加到表单中。

【讨论】:

  • 为什么您认为需要将其从排除的参数中删除?这是你不希望它被操纵的特殊参数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-06
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-10
相关资源
最近更新 更多