第一页控制器,我在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" />
如何将复选框的正确值从第一页传递到下一页?
答案 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" %>