如何在struts2中处理单个表单中的多个动作



我有一个表单包含三个按钮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中映射此

struts.xml中,动作是通过action标签映射的

<action name="userAction" class="...

submit按钮应该包含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" />

注意:要映射method属性,您应该打开DMI

为了使用<s:submit>标签的method属性,必须启用DynamicMethodInvocation。另一个解决方案是使用action属性。

在JSP:

<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>
在struts.xml:

<action name="print" class="...">
  <result>...</result>
</action>
<action name="export" class="...">
  <result>...</result>
</action>
<action name="save" class="...">
  <result>...</result>
</action>

相关内容

  • 没有找到相关文章

最新更新