假定你已经阅读:Spring MVC,绑定默认数据,这里讲解绑定基本数据类型,以及包装数据类型。

基本数据类型,就是int/String等;包装数据类型,就是Integer等。基本数据类型与包装数据类型的区别在于:如果从前台页面传递的值为 null 或者 “”的话,那么基本数据类型会出现异常,就是必须保证表单传递过来的数据不能为null或”";而包装数据类型则不会抛出异常。

一、假设基本环境已经具备

参考:Spring MVC,绑定默认数据

二、创建前台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,测试

Spring MVC,绑定基本数据类型、包装数据类型_绑定 

 提交,Tomcat后台显示:

Spring MVC,绑定基本数据类型、包装数据类型_基本数据类型_02

注意:如果将userId改为空值,提交会出错。

五、修改前台form1.jsp,将提交地址改为action="../hello/basicParameter2",测试 

Spring MVC,绑定基本数据类型、包装数据类型_绑定

 提交,Tomcat后台显示:

Spring MVC,绑定基本数据类型、包装数据类型_基本数据类型_04 

注意:如果将userId改为空值,提交不会出错。