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来代替.

posted @ 2020-02-15 22:44  一起学编程  阅读(112)  评论(0编辑  收藏  举报