java - 如何在通配符操作映射中处理单一形式的多个操作?

标签 java jsp struts2 wildcard-mapping dmi

根据这个解决方案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>

如何解决这个问题?

最佳答案

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

在您的 struts.xml 文件中:

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

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

关于java - 如何在通配符操作映射中处理单一形式的多个操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23491738/

相关文章:

css - 添加到 parsys 的内容显示在包含 html 之外。我怎样才能让它显示在里面?

jsp - Tiles 3 不是渲染列表属性

java - 无法运行 Shell 脚本

java - 在 JavaFX 中单击按钮即可将其删除

java - Struts 检测到未处理的异常 : java. lang.NullPointerException

java - 如何在 Java EE 中检查用户是否登录

tomcat - Tomcat 7.0.x 中是否已经包含struts 2 框架?

java - SQLiteOpenHelper .update() 不持久

java - JSP:创建图表

javascript - 在不使用 URL 的情况下获取下一页上具有相同名称的输入类型值