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
?
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" />
Для того, чтобы использовать method
атрибут <s:submit>
тег 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>