How to handle multiple actions in a single form in Struts 2

dmi, java, jsp, ognl, struts2

Solution

In the `struts.xml` the action is mapped via the `action` tag

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

the `submit` buttons should include `method` attribute to call corresponding methods of the action

<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" />

Note: To map a `method` attribute you should have DMI turned on.

Problem

I have a form contains three buttons `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> ``` How can I map this in `struts.xml`?

Original source