Struts2以单一形式处理多个动作

时间:2013-01-22 19:43:46

标签: java jsp struts2 ognl dmi

我的表单包含三个按钮print / export / save

<s:form action="/userAction">
    <s:submit type="image" value="%{'print'}" src="/print.png" />
    <s:submit type="image" value="%{'export'}" src="/export.png" />
    <s:submit type="image" value="%{'save'}" src="/save.png" />
</s:form>

如何在struts.xml

中映射此内容

2 个答案:

答案 0 :(得分:2)

struts.xml中,操作通过<action代码

进行映射
<action name="userAction" class="...

提交按钮应包含method属性,以调用相应的操作方法

<s:submit type="image" value="%{'print'}" src="/print.png" method="print" />
<s:submit type="image" value="%{'export'}" src="/export.png" method="export" />
<s:submit type="image" value="%{'save'}" src="/save.png" method="save" />

答案 1 :(得分:1)

要使用method标记<s:submit>的{​​{1}}属性,必须启用。另一种解决方案是使用DynamicMethodInvocation属性。

在JSP中:

action

在struts.xml中:

<s:form action="save">
    <s:submit type="image" value="%{'print'}" src="/print.png" action="print" />
    <s:submit type="image" value="%{'export'}" src="/export.png" action="export" />
    <s:submit type="image" value="%{'save'}" src="/save.png" />
</s:form>