Как обрабатывать несколько действий в одной форме при сопоставлении действий с подстановочными знаками?

В соответствии с этим решением Struts2 обрабатывает несколько действий... Я знаю Struts2 DMI может легко обрабатывать несколько действий в одной форме.

Недавно 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>

Как я могу решить эту проблему?


person Ashkandi    schedule 06.05.2014    source источник
comment
Вы видели это: stackoverflow.com/q/13343954/1700321?   -  person Aleksandr M    schedule 06.05.2014


Ответы (1)


В Struts2, даже если DMI отключен. по-прежнему можно использовать специальный параметр action:. Чтобы использовать этот параметр в JSP, вам необходимо настроить

в вашем файле struts.xml:

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

Специальные параметры обрабатываются картографом действий, когда фильтр пытается получить сопоставление действий из отфильтрованного URL-адреса, и этот параметр добавляется в форму, когда вы используете атрибут action тега submit.

person Roman C    schedule 06.05.2014
comment
Как вы думаете, почему вам нужно удалить его из исключенных параметров? Это специальный параметр, которым вы не хотите манипулировать. - person Aleksandr M; 06.05.2014