Проблема в том, что вы не можете параметризовать тег s:submit
с тегом s:param
, как в вашем коде, используя тег param
в теле тега submit
.
Вы также не хотите добавлять поле hidden
, потому что вы получили несколько значений, представленных в действии. Это связано с тем, что многие скрытые поля отображаются с одним и тем же именем. Вы можете использовать только одно поле и обновить его значение перед отправкой формы.
Возможно, вы использовали неправильный тег для передачи параметра в действие. Вы можете использовать тег привязки и параметризовать его с тегом param
.
Второй способ - использовать javascript для изменения атрибута action
. Таким образом, вы также можете использовать тег button
.
Третий способ не рекомендуется, поскольку он требует использования нескольких форм, по одной на каждую ссылку. Таким образом, вы напрямую добавляете параметр в атрибут действия формы.
Ниже приведен код для указанных выше вариантов.
3-в-1:
<s:form name="myForm13" namespace="/" action="save?message=Hello param 3" theme="simple">
<br/><s:a cssClass="btn btn-primary" action="test"><s:param name="message">Hello param 1</s:param> Go </s:a>
<br/><s:a href="#" cssClass="btn btn-warning" onclick="myForm13.action='test?message=Hello param 2';myForm13.submit()">Submit</s:a>
<br/><s:submit cssClass="btn btn-danger" action="test"/>
</s:form>