SpringMVC常用标签

Spring MVC 常用标签

  • @RequestAttribute 获取HttpServletRequest对象中的属性

    • value:属性名称
    • required:是否必须
    <%
      // 在JSP文件中设置request对象的属性,然后转发到控制器中
      request.setAttribute("id", 2L);
      request.getRequestDispatcher("./param/requestAttribute.do")
      .forward(request, response);
    %>
    @RequestMapping("/requestAttribute.do")
    public ModelAndView reqAttr(@RequestAttribute(value = "id", required = false) Long id) {
      ModelAndView mv = new ModelAndView();
      logger.info("获取RequestAttribute中的值id:" + id);
      mv.setView(new MappingJackson2JsonView());
      return mv;
    }
  • @SessionAttributes 向HttpSession中设置属性(该注解只能作用在类上)

    • names:按名称设置,设置在Model里的该名称的对象会被存储在Session中
    • types:按类型设置,设置在Model里的该类型的对象会被存储在Session中
    @SessionAttributes(names = {"id"}, types = {Role.class})
    public class SessionController {
      @RequestMapping("/sessionAttributes.do")
      public ModelAndView sessionAttr() {
          ModelAndView mv = new ModelAndView();
          Role role = iRoleService.getRole(id);
          // 根据类型,Session会保存Role对象
          mv.addObject("role", role);
          // 根据名称,Session会保存id
          mv.addObject("id", id);
    
          mv.setViewName("sessionAttribute");
          return mv;
      }
    }
  • @SessionAttribute 获取Session中的值

    • value:session中的名称
    • required:是否必须
    public ModelAndView sessionAttr(@SessionAttribute("id") Long id) {...}
  • @RequestHeader和@CookieValue分别是获取请求头信息和Cookie信息

    @RequestMapping("/getHeaderAndCookie")
    public ModelAndView getHeaderAndCookie(@RequestHeader(value = "User-Agent", required = false
          , defaultValue = "attribute") String userAgent
          , @CookieValue(value = "JSESSIONID", required = false, defaultValue = "MyJSessionId") String jsessionId) {
    
      System.out.println("User-Agent:" + userAgent);
      System.out.println("JSESSIONID:" + jsessionId);
    
      ModelAndView mv = new ModelAndView();
      mv.setView(new MappingJackson2JsonView());
      return mv;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值