0

Я искал что-то, что могло бы помочь мне решить эту проблему без успеха. Мне нужно просто вызвать контроллер Spring, нажав элемент Button, и передать из него RequestParam («statusId» в этом конкретном случае). Есть ли способ сделать это без использования JavaScript?Параметр перехода от кнопки к Java весна Контроллер MVC

У меня есть следующий HTML:

   <div class="tablero col-lg-4 col-md-4 col-sm-6"> 
       <div class="inner-content"> 
        <div class="rate"> 
         <div class="number"> 
          <span>${package}</span> 
          <span class="text">REFERRALS</span> 
         </div> 
        </div> 
        <div class="description"> 
         <h3> 
         <i class="fa fa-shopping-bag"></i> 
         PACKAGE 
        </h3> 
         <label>Paquete</label> 
         <button class="btn-primary" onclick="location.href='listReferred.htm' id="package">GO TO LIST</button><!--The parameter should be send from this button--> 
        </div> 
       </div> 
      </div> 

И в MVC контроллер Spring:

@SuppressWarnings("unchecked") 
@RequestMapping(value="/listReferred", method=RequestMethod.GET) 
public String getListReferredPage(@RequestParam int statusId, Model model) { 

    RestTemplate restTemplate = new RestTemplate(); 
    String url = URL_REFERREDTYPE_JSON+statusId; 
    List<SearchProspectTO> searchProspectToList = restTemplate.getForObject(url, List.class, statusId); 
    model.addAttribute("searchProspectToList", searchProspectToList); 

    return "portalInternoReferidos"; 
} 

ответ

0

Surround, по крайней мере на кнопку элемент с формой, как это:

<form action="listReferred" method="get"> 
    <button... 
</form> 

Добавьте имя и значение к кнопке:

<button name="yourButton" value="[provide status id here]">GO TO LIST</button> 

Alter @RequestParam int statusId до @RequestParam(value="yourButton") int statusId.

Это будет работать, за исключением старых браузеров IE - ниже версии 10, я думаю. Эти версии вернут «GO TO LIST» вместо значения.

В качестве обходного пути вы можете использовать скрытый ввод, который также должен быть помещен в раздел формы.

+0

Как вы предположили, я использовал кнопку с тегом формы и добавил скрытый ввод (который я отправляю в качестве RequestParam для контроллера). Он работал правильно. – fabiang81

Смежные вопросы