Несколько форм в одном jsp

У меня есть две формы на одной странице jsp. Первая форма не использует атрибут модели, а вторая использует атрибут модели. Проблема в том, что если я опубликую первую форму, в которой я не использую атрибут modelAttribute, будет выдано сообщение об ошибке, что я не привязал атрибут modelAttribute.

Я искал в Интернете, чтобы искать решения, но я не могу найти того, который был бы полезен.

changeAddress.jsp

<form method="post">
     <input type="hidden" name="id" value="0" />
     <input type="submit" name="exist" value="send to this address" />
</form>
<form:form method="post" modelAttribute="addressForm">
     <form:input path="street" />     
     <input type="submit" name="add" value="send to this address" />  
</form:form>

OrderController.java

@RequestMapping(value="changeAddress",method = RequestMethod.GET)
public ModelAndView showChangAddress(Model model)
{
     model.addAttribute("addressForm", new AddressForm());
     return new ModelAndView("body.changeaddress");
}

@RequestMapping(value="changeAddress", params="add", method = RequestMethod.POST)
public ModelAndView addChangAddress(@ModelAttribute("addressForm") @Valid AddressForm af, BindingResult result, Model model)
{
     System.out.println("a");
     return new ModelAndView("body.changeaddress");
}

@RequestMapping(value="changeAddress", params="exist", method = RequestMethod.POST)
public ModelAndView processChangAddress(@RequestParam(value="id") String id, Model model)
{
     System.out.println("b");
     return new ModelAndView("body.changeaddress");
}

Большое спасибо за помощь :)


person Skyverian    schedule 03.01.2013    source источник
comment
Какую версию Spring вы используете?   -  person Lion    schedule 03.01.2013
comment
Можете ли вы попробовать отправить только первую форму, используя document.forms[0].submit.   -  person prashanth    schedule 07.01.2013


Ответы (1)


taglib весенней формы документация о теге <form>:

Этот тег отображает тег формы HTML и предоставляет путь привязки к внутренним тегам для привязки. Он помещает объект команды в PageContext, чтобы к объекту команды можно было получить доступ с помощью внутренних тегов.

Я думаю, вам ничего не нужно из тега spring <form> в вашей первой форме. Поэтому вместо этого вы можете использовать простую html-форму:

<form method="post" action="...">
     <input type="hidden" name="id" value="0" />
     <input type="submit" name="exist" value="send to this address" />
<form>
person micha    schedule 03.01.2013
comment
Я сделал это, но это ставит меня в ту же ситуацию с той же ошибкой - person Skyverian; 03.01.2013