2020-2-15
SpringMVC
spring mvc只会自动为以下五个参数进行自动赋值:
- HttpServletRequest
- HttpServletResponse
- HttpSession
- 请求携带的参数
- 用于承载数据的Model
@RequestMapping、@RequestParam、@PathVariable
@RequestMapping:value,param,method, produces = "text/html;charset=utf-8"
@RequestParam:value(或者name) 、required、defaultValue.
@PathVariable:value(或者name)、required
Controller中方法的返回值类型:
- ModelAndView
- String
- void
- 自定义类型
返回ModelAndView时的重定向
重定向的方式在request域中的数据会失效,此时可以通过ModelAndView来传递数据,但是只能传递基本数据类型和String类型,因为spring mvc会将传递的数据以请求参数的方式放到url的后面。
另外,我们在jsp中取值的时候需要使用 EL 表达式中的请求参数param读取。${param.name}
thymeleaf
向下兼容
但是要注意,如果浏览器不支持Html5怎么办?
如果不支持这种th:的命名空间写法,那么可以把th:text换成 data-th-text,Thymeleaf也可以兼容。
escape
另外,th:text指令出于安全考虑,会把表达式读取到的值进行处理,防止html的注入。
例如,
<p>你好</p>
将会被格式化输出为$lt;p$gt;你好$lt;/p$lt;。
如果想要不进行格式化输出,而是要输出原始内容,则使用th:utext来代替.