Spring MVC,绑定基本数据类型、包装数据类型
假定你已经阅读:Spring MVC,绑定默认数据,这里讲解绑定基本数据类型,以及包装数据类型。
基本数据类型,就是int/String等;包装数据类型,就是Integer等。基本数据类型与包装数据类型的区别在于:如果从前台页面传递的值为 null 或者 “”的话,那么基本数据类型会出现异常,就是必须保证表单传递过来的数据不能为null或”";而包装数据类型则不会抛出异常。
一、假设基本环境已经具备
二、创建前台form1.jsp页面,位于mvc目录之下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>提交基本数据类型</title> </head> <body> <form action="../hello/basicParameter" method="post"> <input name="userId" value="100001" type="text"/> <input name="username" value="李四" type="text"/> <input type="submit" value="提交"> </form> </body> </html>
三、后台控制器代码
package com.itheima.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller @RequestMapping(value = "/hello") public class BasicParamController { @RequestMapping("/basicParameter") public String basicParameter(int userId, String username){ System.out.println("basicParameter: userId and username is:"); System.out.println(userId); System.out.println(username); return "success"; } @RequestMapping("/basicParameter2") public String basicParameter2(@RequestParam(value="userId") Integer id, String username){ System.out.println("basicParameter2: id and username is:"); System.out.println(id); System.out.println(username); return "success"; } }
说明:如果前台传递的参数名称与后台不一致,用@RequestParam注解来对名称进行修正。
四、前台打开页面:http://localhost:8080/ssm/mvc/form1.jsp,测试
提交,Tomcat后台显示:
注意:如果将userId改为空值,提交会出错。
五、修改前台form1.jsp,将提交地址改为action="../hello/basicParameter2",测试
提交,Tomcat后台显示:
注意:如果将userId改为空值,提交不会出错。