Две кнопки в <s: form> для выбора в классе действий

1

Можно ли сделать что-то подобное?

<s:form action="formAction1" namespace="/form1">
  <s:form action="formAction2" namespace="/form2">
    <s:textfield name="user"/>
    <s:password name="pwd" />
    <s:submit name="sub1" value="start1">
    <s:submit name="sub2" value="start2">
  </s:form>
</s:form>     

т.е. если я start1 кнопку start1, тогда будет отправлен formAction1. еще когда start2 нажата, то formAction2 будет представлен. На самом деле я хочу иметь 2 разных действия на 2 разных кнопках в одной форме.

Я не хочу использовать тэг URL <!-- s:url -->.

Теги:
jsp
forms
button
struts2

2 ответа

2

Нет, это невозможно в HTML, ни в Struts2. У вас не должно быть вложенных форм, но вы можете использовать несколько форм на странице.

<s:form>
 <s:textfield name="user"/>
 <s:password name="pwd" />
 <s:submit name="sub1" value="start1" action="formAction1">
 <s:submit name="sub2" value="start2" action="formAction2">
</s:form>

Также см. Как выровнять две кнопки отправки? , Там также информация о том, как настроить Struts2 на использование префикса действий.

  • 0
    @AbhishekRaj Если этот ответ помог вам решить вашу проблему, отметьте его как принятый. Если у вас есть вопрос, см. О странице.
1

Это невозможно, как вы показали в своем коде; но у вас может быть одна форма с несколькими кнопками, и каждое действие может выполняться по-разному.

вы можете достичь этого, используя следующий код

<s:form method="post" action="mySubmitAction">
    // your form fields
    <s:submit value="Submit"/>
    <s:submit value="Clear" action="myClearAction"/>
</form>

Здесь, если вы нажмете на первую кнопку, mySubmitAction.

Если вы нажмете на вторую кнопку myClearAction, myClearAction (поскольку мы myClearAction атрибут action во второй кнопке, вместо действия myClearAction будет mySubmitAction действие myClearAction).

Вы можете получить доступ ко всему полю формы в обоих действиях.

Надеюсь, что это поможет вам.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню