Как передать переменные в контроллер в форме отправки в Spirng Boot? - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть форма с 3 радиокнопками, при нажатии какой-либо радиокнопки я хочу отправить в контроллер значение радиокнопки и переменную Id, которую я отправляю из контроллера в представление.

Вид HTML выглядит следующим образом:

 <form id="form" th:action="@{/buscarEmpresa}">
      <input type="radio" name="filtro" value="dia" onclick="submitForm()"> Día
      <input type="radio" name="filtro" value="mes" onclick="submitForm()"> Mes
      <input type="radio" name="filtro" value="ano" onclick="submitForm()"> Año
 </form>

При нажатии некоторых переключателей я использую следующий код js в теге <script>:

function submitForm(){
            document.getElementById("form").submit();
        }

Контроллервыглядит так:

@GetMapping("/buscarEmpresa")
    public ModelAndView buscarEmpresa(@RequestParam(name = "empresas", required = false) Integer id,
                                      @RequestParam(name="filtro", required = false) String filtro) {
        ModelAndView mav = new ModelAndView(ViewConstant.DASHBOARD_3);
        mav.addObject("nombreEmpresa", (empresaRepository.getEmpresaByIdEmpresa(id)).getNombre());
        sendEntradas(mav, id);
        sendSalidas(mav, id);
        mav.addObject("empresas", empresaRepository.findAll());
        mav.addObject("idEmpresa", id);
        return mav;
    }

Я пытался изменить th:action на что-то вроде этого:

th:action="@{/buscarEmpresa?empresas=__${idEmpresas}__}"

, где idEmpresas - это значение идентификатора, которое я посылаю с контроллера иЯ хочу отправить его повторно, но когда я отправляю форму, она отправляет только значение переключателей.Как я могу решить это?Я использую Spring Boot и Thymeleaf в качестве движка шаблонов.

1 Ответ

2 голосов
/ 24 апреля 2019

Обновите свой вид, чтобы встроить выбранный идентификатор в форму в виде скрытого input, чтобы он возвращался с выбором радио при каждой отправке формы :

<form id="form" th:action="@{/buscarEmpresa}">
  <input type="hidden" id="empresasId" name="empresasId" value="<empresasId_value_from_select>">
  <input type="radio" name="filtro" value="dia" onclick="submitForm()"> Día
  <input type="radio" name="filtro" value="mes" onclick="submitForm()"> Mes
  <input type="radio" name="filtro" value="ano" onclick="submitForm()"> Año
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...