Контроллер пружины не срабатывает

У меня есть эта таблица в шаблоне. В ячейке таблицы есть две кнопки

<td>
<form action="#" data-th-action="@{/userdash}" method="POST">
    <input type="hidden" name="id" th:value="${acc.recordId}" />                                                 
    <button type="submit" name="action" value="reengage">Re Engage</button>
    <button type="submit" name="action" value="reinvoice">invoice</button>
</form>     

Когда щелкают Re Engage, я ожидаю, что сработает следующее:

/*User dashboard:customer clicks invoice*/
@PostMapping(value="/userdash", params="action=reinvoice")
public ModelAndView reinvoice(@RequestParam String id,Authentication authentication) {

при нажатии на invoice я ожидаю:

/*User dashboard:customer clicks re-engage*/
@PostMapping(value="/userdash", params="action=reengage")
public ModelAndView reengage(@RequestParam String recordId, Authentication authentication) {

Но при нажатии на кнопку reinvoice выполняется только метод invoice. Метод reengage не выполняется при нажатии кнопки re engage

Что я сделал не так?

1
0
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
//*User dashboard:customer clicks re-engage*/
@PostMapping(value="/userdash", params="action=reengage")
public ModelAndView reengage(@RequestParam String recordId, Authentication 
authentication) {

Поменяйте rocordId на id и попробуйте. как показано ниже:

/*User dashboard:customer clicks re-engage*/
@PostMapping(value="/userdash", params="action=reengage")
public ModelAndView reengage(@RequestParam String id, Authentication 
authentication) {

Проблема в приведенном выше коде - requestParam ожидает recordId, а вы передаете параметр как id.

Другие вопросы по теме