springMVC自动获取jsp页面input中的值,封装成对象传入后台
最近做公司的项目,项目采用的是ssm框架,发现后台在采集jsp页面表单里面的数据时没有用到传统的request.getParameter(),而是在controller的传入参数多了几个对象。因此发现springMVC的这个功能。
具体例子如下所示:
建立一个jsp页面vacate.jsp
后台接受的controller代码:
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.servlet.ModelAndView;
- import com.zyl.nonglin.base.BaseController;
- import com.zyl.nonglin.base.entity.Vacate;
- @Controller
- @RequestMapping(value="/admin/qingjia")
- public class VacateController extends BaseController{
- /**
- * 跳转到请假页面
- * @param req
- * @param resp
- * @return
- */
- @RequestMapping(value="/toVacate")
- public ModelAndView toVacate(HttpServletRequest req,HttpServletResponse resp){
- Map<String,Object> context = getRootMap();
- return forword("/qingjia/vacate", context);
- }
- /**
- * 提交请假信息
- * @param vacate
- * @param req
- * @param resp
- */
- @RequestMapping(value="/addVacate")
- public void addVacate(Vacate vacate,HttpServletRequest req,HttpServletResponse resp){
- System.out.println(vacate.getClassNum());//
- System.out.println(vacate.getReason());
- System.out.println(vacate.getsName());
- System.out.println(vacate.getsNum());
- System.out.println(vacate.getsPhone());
- }
- }
- /**
- * 请假信息类
- * @author
- *
- */
- public class Vacate {
- private String id;
- private String sNum;//学生学号
- private String sName;//学生姓名
- private String classNum;//班级编号
- private String ctime;//请假时间
- private String sPhone;//学生电话
- private String reason;//理由
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getsNum() {
- return sNum;
- }
- public void setsNum(String sNum) {
- this.sNum = sNum;
- }
- public String getsName() {
- return sName;
- }
- public void setsName(String sName) {
- this.sName = sName;
- }
- public String getClassNum() {
- return classNum;
- }
- public void setClassNum(String classNum) {
- this.classNum = classNum;
- }
- public String getCtime() {
- return ctime;
- }
- public void setCtime(String ctime) {
- this.ctime = ctime;
- }
- public String getsPhone() {
- return sPhone;
- }
- public void setsPhone(String sPhone) {
- this.sPhone = sPhone;
- }
- public String getReason() {
- return reason;
- }
- public void setReason(String reason) {
- this.reason = reason;
- }
- }
前端页面样式:
提交后可以看到控制台输出: