一、方法参数使用
1.在无注解下获取参数
在没有注解的情况下,Spring MVC 也可以获取参数,且参数允许为空,唯一的要求是参
数名称和 HTTP 请求的参数名称保持一致。
@Controller
@RequestMapping("/my")
public class MyController{
@GetMapping("/no/annotation")
@ResponseBody
public Map<String,Object> noAnnotation(Integer intVal,Long longVal,String str){
Map<String,Object> map = new HashMap();
map.put("intVal",intVal);
map.put("longVal",longVal);
map.put("str",str);
return map;
}}
2. 使用@RequestParam 获取参数
在方法参数中使用了注解@RequestParam,其目的是指定 HTTP 参数和方法的映射关系,这样处理器会按照其配置的映射关系来得到参数,然后调用控制器的方法。
注意:如果把 3 个 HTTP 参数中的任意一个删去,就会得到异常报错的信息。
@RequestMapping("annotation")
@ResponseBody
public Map<String,Object> requestParam(@RequestParam("int_Val") Integer intVal,@RequestParam("long_Val") Long longVal,@RequestParam("str_Val") String str){
Map<String,Object> map = new HashMap();
map.put("intVal",intVal);
map.put("longVal",lngVal);
map.put("str",str);
return map;
}
3.传递数组
@RequestMapping("/requestArray")
@ResponseBody
public Map<String, Object> requestArray(Integer [] intArr,
Long [] longArr, String [] strArr) {
Map<String, Object> paramsMap = new HashMap();
paramsMap.put("intArr", intArr);
paramsMap.put("longArr", longArr);
paramsMap.put("strArr", strArr);
return paramsMap;
}
4.格式化获取参数
/WEB-INF/jsp/format/formatter.jsp
<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>格式化</title>
</head>
<body>
<form action="./commit" method="post">
<table>
<tr>
<td>日期(yyyy-MM-dd)</td>
<td><input type="text" name="date" value="2017-08-08"
/></td>
</tr>
<tr>
<td>金额(#,###.##)</td>
<td><input type="text" name="number" value="1,234,567.89"
/></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="
提交" />
</td>
</tr>
</table>
</form>
</body>
</html>
controller.java
@PostMapping("/format/commit")
@ResponseBody
public Map<String, Object> format(
@DateTimeFormat(iso=ISO.DATE) Date date,
@NumberFormat(pattern="#,###.###") Double number
){
Map<String, Object> dataMap=new HashMap();
dataMap.put("date", date);
dataMap.put("number", number);
return dataMap;
}
二、MVC的增、查
1.pom.xml
加入parent、web、jstl、servlet、tomcat、jasper坐标(可以参考我之前写过的pom.xml)
这次再写入热部署:当项目启动状态时,修改静态文件并保存后,不需要重启项目来达到使静态文件生效的目的。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
2.