将spring中复选框的值传递到下一页
第一个页面控制器,我在post方法中通过了checkbok将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)
@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" %>