将spring中的checkbox值传递给下一页

时间:2014-10-27 16:32:48

标签: spring checkbox

第一页控制器,我在post方法中传递了checkbok,

    @RequestMapping(value = { "/new.html" }, method = { RequestMethod.POST })
    public ModelAndView submitNew(final HttpServletRequest request,
            @RequestParam(value = "asSelectedCheckbox", required = false) boolean asSelectedCheckbox){

我也通过了get方法中的复选框,然后在post方法中,如果复选框为true,我执行了if语句,但是请求总是在第二页控制器中返回false,无论是否为框检查与否。

第二页发布方法控制器

    @RequestMapping(value = { "/newNext.html" }, method = { RequestMethod.POST })
    public ModelAndView submitNewNext(final HttpServletRequest request,
            @RequestParam(value = "asSelectedCheckbox", required = false) boolean asSelectedCheckbox){

我的第一页有复选框

    <input id="id" name="asSelectedCheckbox" type="checkbox" />

如何将复选框的正确值从第一页传递到下一页?

1 个答案:

答案 0 :(得分:1)

考虑每个时间控制器被称为程序的新“运行”,它没有状态,也不知道之前有谁调用它。

E.g。如果两个用户同时打开new.html并且一个提交表单并选中了复选框,那么该怎么办?那你的newNext.html应该如何表现呢?

现在回答:

您可以在与特定用户绑定的会话中存储复选框值,也可以将其传递给view,以便在提交newNext.html时获得该值。

您可以在submitNew()中添加以下代码:

model.add("asSelectedCheckbox", asSelectedCheckbox);

关注new.jsp中的代码:

<form:hidden path="asSelectedCheckbox" />

并关注new.jsp顶部的代码:

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>