Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将spring中复选框的值传递到下一页_Spring_Checkbox - Fatal编程技术网

将spring中复选框的值传递到下一页

将spring中复选框的值传递到下一页,spring,checkbox,Spring,Checkbox,第一个页面控制器,我在post方法中通过了checkbok @RequestMapping(value = { "/new.html" }, method = { RequestMethod.POST }) public ModelAndView submitNew(final HttpServletRequest request, @RequestParam(value = "asSelectedCheckbox", required = false)

第一个页面控制器,我在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

第二页post方法控制器

    @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" />


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

考虑每次控制器被称为程序的新“运行”,该程序没有状态,也不知道以前谁调用过它

例如,如果两个用户同时打开new.html,一个用户提交的表单选中复选框,另一个用户不选中复选框,该怎么办?那么您的newNext.html应该如何运行呢

现在答案是:

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

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

new.jsp中的以下代码:

<form:hidden path="asSelectedCheckbox" />

以及new.jsp顶部的以下代码:

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


因此,我确实需要将隐藏字段放在第一个jsp页面中,那么当选中复选框时,我想处理的第二个jsp呢?在控制器中的post方法中,我是否需要在此处将asSelectedCheckbox作为prameter传递?您的第一个控制器页面使用表单呈现一些HTML,该表单将表单数据发布到第二个控制器。所以,您必须使第一个控制器呈现带有表单中预设隐藏字段的页面,以便发布到第二个控制器。
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>