SpringMVC如何获取复选框中的值呢?
复选框在Web开发中常用于用户批量勾选某一类值的操作,
如:用户的喜好
那么SpringMVC如何获取用户复选框中的选中值呢?下文将通过示例的方式,讲述其具体的实现方式,如下所示:
实现思路:
在SpringMVC中Controller中获取参数信息,根据html控件的name进行匹配,所以我们可采用获取其它文本控件的方式获取其值
例:
定义一个jsp页面
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>Insert title here</title> </head> <body> <form action="/com.java265.helloworld/userReg" method="post"> userName:<input type="text" name="userName" /><br /> email: <input type="text" name="emailAddress" /><br /> password:<input type="password" name="passWord" /><br /> hobby:<input type="checkBox" id="hobby1" name="chkHobby" value="1" /><label for="hobby1" >one</label> <input type="checkBox" id="hobby2" name="chkHobby" value="2" /> <label for="hobby2" >two</label> <input type="checkBox" id="hobby3"name="chkHobby" value="3" /><label for="hobby3" >three</label> <br/> remarks:<textarea rows="3" cols="6" name="txtRemarks"></textarea> <input type="submit" value="submit" /> </form> </body> </html>二、在Entity中加入相应的字段存储相应值
package com.java265.helloworld.Entity; public class User { private String userName; private String eMail; private String passWord; private String remarks; private String hobby; // 爱好 public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } public User(String userName, String eMail, String passWord, String remarks, String hobby) { super(); this.userName = userName; this.eMail = eMail; this.passWord = passWord; this.remarks = remarks; this.hobby = hobby; } public String getRemarks() { return remarks; } public void setRemarks(String remarks) { this.remarks = remarks; } public User(String userName, String eMail, String passWord, String remarks) { super(); this.userName = userName; this.eMail = eMail; this.passWord = passWord; this.remarks = remarks; } public User() { super(); } public User(String userName, String eMail) { super(); this.userName = userName; this.eMail = eMail; } public User(String userName, String eMail, String passWord) { super(); this.userName = userName; this.eMail = eMail; this.passWord = passWord; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String geteMail() { return eMail; } public void seteMail(String eMail) { this.eMail = eMail; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } }三、Controller中的方法获取相应的值
package com.java265.helloworld.Controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.java265.helloworld.Entity.User; @Controller public class UserController { /** * 用户返回用户注册 * */ @RequestMapping(value = "/userReg", method = RequestMethod.GET) public String userReg() { return "userReg"; } /** * * 使用Spring MVC获取文本变量 * * @param userName :此出的名字缺省情况下只需同表单中的name对应即可获取数值 * @param emailAddress: 同上 * * @return */ @RequestMapping(value = "/userReg", method = RequestMethod.POST) public String userReg(String userName, String emailAddress, String passWord, String txtRemarks, String chkHobby, Model model) { User u = new User(userName, emailAddress, passWord, txtRemarks, chkHobby); model.addAttribute("u", u); return "showUserInfo"; } }四、页面数据显示进行相应的处理
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> java265.com--ShowUserInfo <br /> <hr /> userName: ${requestScope.u.userName} <br /> email: ${requestScope.u.eMail} <br /> <br /> passWord: ${requestScope.u.passWord} <br /> <br /> hobby: ${requestScope.u.hobby} <br /> remarks: ${requestScope.u.remarks} <br /> </body> </html>运行效果如下图所示:
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。