将参数从 Button 传递到 Java spring MVC 控制器

Pass parameter from Button to Java spring MVC controller

我一直在寻找可以帮助我解决此问题但未成功的东西。我需要的只是通过按下 Button 元素来调用 Spring 控制器,并从中传递一个 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";
}

至少用表单包围按钮元素,如下所示:

<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。这些版本将 return 'GO TO LIST' 而不是值。

作为解决方法,您可以使用隐藏的输入,它也必须放在表单部分内。