我一直在寻找可以帮助我解决这个问题的东西,但没有成功。我需要的只是通过按下 Button 元素来调用 Spring Controller ,并从中传递一个 RequestParam(在本例中为“statusId”)。有没有办法在不使用 JavaScript 的情况下做到这一点?
我有下一个 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>
和 Spring MVC Controller :
@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";
}
最佳答案
至少用表单包围按钮元素,如下所示:
<form action="listReferred" method="get">
<button...
</form>
向按钮添加名称和值属性:
<button name="yourButton" value="[provide status id here]">GO TO LIST</button>
将 @RequestParam int statusId
更改为 @RequestParam(value="yourButton") int statusId
。
除了较旧的 IE 浏览器(我认为低于版本 10)之外,这都可以工作。这些版本将返回“GO TO LIST”而不是值。
作为解决方法,您可以使用隐藏输入,该输入也必须放置在表单部分内。
关于html - 将参数从 Button 传递到 Java spring MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35900174/