SpringMVC - 参数封装
SpringMVC如何对请求中传入的参数接收并封装。
SpringMVC内置多种数据类型转换器,
可以根据请求中的参数与后端控制器方法的参数的关系为我们实现简单的数据封装。
1. 基本类型和String类型参数
1.1 使用方式
在后端控制器方法参数中直接加入基本类型和String类型的参数。
要注意请求中的参数名和方法中的参数名保持一致。
基本类型一般使用对应的包装类。
1.2 举个栗子
前端代码:
xxx.html/xxx.jsp:
<form action="xxx" method="post">
<input type="number" name="id">
<input type="text" name="name">
</form>
后端控制器方法:
xxxController.java:
@RequestMapping("/xxx")
public String xxxhandle(Integer id, String name) {
...
}
2. 特殊类型参数
2.1 错误分析
特殊类型参数,比如java.util.Date日期类型。
由于SpringMVC不是每种类型的参数都有对应的类型转换器,比如Date和String类型。
而浏览器只能传输String类型的,SpringMVC缺少String转Date类型转换器。
会导致抛出异常。
2.2 自定义类型转换器
为了使数据封装成功,我们可以根据需要编写自定义类型转换器。
此转换器需实现org.springframework.core.convert.converter.Converter接口
2.3 使用方式
编写自定义类型转换器:
StringToDateConverter:
import org.springframework.core.convert.converter.Converter;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDateConverter implements Converter<String, Date> {
@Override
public Date convert(String source)