Я пытаюсь отправить две кнопки отправки в форму, причем каждое действие кнопки отображается на разные контроллеры. Вот мои сопоставления
@RequestMapping(value="/save", method=RequestMethod.POST, params="save")
@RequestMapping(value="/save", method=RequestMethod.POST, params="renew")
И мои кнопки отправки выглядят так:
<input type="submit" name="save" class="button" value="Save" />
<input type="submit" name="renew" class="button" value="Renew" />
Как вы можете видеть из моего сопоставления, я полагаюсь на использование параметров, чтобы различать, на какую кнопку нажали. Проблема в том, что она работает 90% времени, но иногда я получаю исключение ниже -
java.lang.IllegalStateException: Ambiguous handler methods mapped for HTTP path 'http://localhost:8090/myapp/save': {public java.lang.String com.myapp.SaveController.save(MyEntity,javax.servlet.http.HttpSession), public java.lang.String com.myapp.SaveController.saveAndRenew(MyEntity,javax.servlet.http.HttpSession)}
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:248)
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:194)
Странно, когда это произойдет, и я снова отправлю страницу, все будет хорошо после этого. Есть ли лучший способ достичь того, что я пытаюсь сделать?
Спасибо!