我一直在寻找可以帮助我解决这个问题而没有成功的事情。我需要的只是通过按下一个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控制器:
@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 :(得分:1)
至少使用表单环绕按钮元素,如下所示:
<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。这些版本将返回&#39;转到列表&#39;而不是价值。
作为解决方法,您可以使用隐藏输入,该输入也必须放在表单部分中。