1、@RequestMapping 映射请求
2、@PathVariable 映射 URL 绑定的占位符
3、POJO对象作为入参:
Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值;支持级联属性
4、处理模型数据(ModelAndView):
–-ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据
–-Map 及 Model: 入参为 Model、ModelMap 或Map 时,处理方法返回时,Map 中的数据会自动添加到模型中
–-@SessionAttributes: 将模型中的某个属性暂存到HttpSession 中,以便多个请求之间可以共享这个属性
—@ModelAttribute: 方法标注该注解后,捕获到请求时会在请求方法执行前执行注解的方法;
可以来修饰目标方法POJO类型的入参(功能如下)
5、ModelAndView函数:
①添加模型数据:
—MoelAndView addObject(String attributeName, Object attributeValue)
—ModelAndView addAllObject(Map<String, ?> modelMap):
②设置视图:
–void setView(View view) 设置的是返回试图层的页面名称
–void setViewName(String viewName)
6、@SessionAttributes:若希望在多个请求之间共用某个模型属性数据,则可以在控制器类上标注
–@SessionAttributes(types=User.class) 会将隐含模型中所有类型为 User.class 的属性添加到会话中。
–@SessionAttributes(value={“user1”, “user2”})
–@SessionAttributes(types={User.class, Dept.class})
–@SessionAttributes(value={“user1”, “user2”}, types={Dept.class})
7、@ModelAttribute:
①方法标注该注解后,捕获到请求时会在请求方法执行前执行注解的方法;
②可以来修饰目标方法POJO类型的入参(功能如下):
1).SpringMVC会使用value属性值在implicitModel(理解为request域中的内容)中查找对应的对象,若存在则会直接传入到目标方法的入参中
2)SpringMVC会以value为key,POJO类型的对象为value,存入到request域中。
请求处理方法执行完成后,最终返回一个 ModelAndView 对象。对于那些返回 String,View 或 ModeMap 等类型的处理方法,SpringMVC 也会在内部将它们装配成一 个ModelAndView 对象,它包含了逻辑名和模型对象的视图;
Spring MVC 借助视图解析器(ViewResolver)得到最终 的视图对象(View),最终的视图可以是 JSP ,也可能是 Excel、JFreeChart等各种表现形式的视图
9、重定向和转发:
一般情况下,控制器方法返回字符串类型的值会被当成逻 辑视图名处理——;
如果返回的字符串中带 forward: 或 redirect: 前缀 时,SpringMVC 会对他们进行特殊处理:将 forward: 和 redirect: 当成指示符,其后的字符串作为 URL 来处理
10、Spring 的表单标签
可以实现将模型数据 中的属性和 HTML 表单元素相绑定,以实现表单数据更便捷编辑和表单值的回显;
当需要表单回显或者使用下拉列表的时候,就使用form表单标签,而如果使用遍历的标签就使用JSTL标签