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

时间:2016-03-09 18:52:27

标签: html spring-mvc button controller http-request-parameters

我一直在寻找可以帮助我解决这个问题而没有成功的事情。我需要的只是通过按下一个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";
}

1 个答案:

答案 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;而不是价值。

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