Springmvc 는 어떻게 프론트 데스크 에 데 이 터 를 전달 합 니까?

1)springmvc 방법의 형 삼 에서 Map,Model,Model Map 을 정의 하고 방법 에서 이 세 대상 을 통 해 값 을 전달 합 니 다.
① 그 중에서 Map 과 ModelMap 의 사용 방식 이 일치 하 다.

@RequestMapping("/detail")
  public String detail(Integer id,
             //ModelMap modelMap
             Map modelMap
               ){
    HashMap<String,String> conditions=new HashMap<>();
    conditions.put("sal","88888888");
    conditions.put("age","35");
    //todo           
    System.out.println("  id "+id+"     ");
    User user=new User(id,"   ",18," ","      ",
              new Role("   ",23),
              conditions,
              Arrays.asList("   ","   "));
    //  modelMap map     ==>request.setAttribute(key,value)
    modelMap.put("user",user);
    return "detail.jsp";
  }
② Model 은 addAttribute 를 통 해 만 전 송 됩 니 다.

@RequestMapping("/detail")
  public String detail(Integer id,
             Model model){
    HashMap<String,String> conditions=new HashMap<>();
    conditions.put("sal","88888888");
    conditions.put("age","35");
    //todo           
    System.out.println("  id "+id+"     ");
    User user=new User(id,"   ",18," ","      ",
              new Role("   ",23),
              conditions,
              Arrays.asList("   ","   "));
    //  Model      
    model.addAttribute("user",user);
    return "detail.jsp";
  }
2)정 의 된 방법의 반환 값 유형 은 모델 앤 드 뷰 입 니 다.방법 에서 모델 앤 드 뷰 를 만 들 고 점프 하 는 페이지 와 전 달 된 데 이 터 를 지정 하고 마지막 으로 모델 앤 드 뷰 대상 을 되 돌려 줍 니 다.
3)주석 을 통 해@ModelAttribute;
4)방법 매개 변수 에서 Request 또는 session 대상 을 정의 하고 이에 대응 하 는 API 를 통 해
아래 2),3),4)의 상황 은 모두 아래 코드 안에 있다.

//    ModelAndView     
//@ModelAttribute:        request   1)       ,      request  ,  request    
//                     2)     ,         request  
  @RequestMapping("/detail2")
  public ModelAndView detail2(Integer id, @ModelAttribute("username") String username,
                HttpServletRequest request,
                HttpSession session,
                HttpServletResponse response
  ){

    request.setAttribute("requestTest","     ");
    session.setAttribute("sessionTest","session   ");

    HashMap<String,String> conditions=new HashMap<>();
    conditions.put("sal","88888888");
    conditions.put("age","35");
    //todo           
    System.out.println("  id "+id+"     ");
    User user=new User(id,"   ",18," ","      ",
        new Role("   ",23),
        conditions,
        Arrays.asList("   ","   "));
    //  ModelAndView         
    ModelAndView modelAndView=new ModelAndView();
    //     
    modelAndView.addObject("user",user);
    //         /  ,           ( webapp )
    //         /  ,  RequestMapping    /  
    modelAndView.setViewName("detail.jsp");
    return modelAndView;
  }
  //        request  
  @ModelAttribute(name = "modelAttributeTest")
  public String test(){
    return "  @ModelAttribute   ";
  }
detail.jsp 의 코드 는 다음 과 같 습 니 다.

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
  <title>      </title>
</head>
<body>
<h1>      </h1>
<table>
  <tr>
    <td>   </td>
    <td>${user.name}</td>
    <td>  </td>
    <td>${user.age}</td>
  </tr>
  <tr>
    <td>  </td>
    <td>${user.sex}</td>
    <td>  </td>
    <td>${user.addr}</td>
  </tr>
  <tr>
    <td>  ID</td>
    <td>${user.role.id}</td>
    <td>   </td>
    <td>${user.role.name}</td>
  </tr>
  <tr>
    <td>  1</td>
    <td>${user.conditions.sal}</td>
    <td>  2</td>
    <td>${user.conditions.age}</td>
  </tr>
  <tr>
    <td>  </td>
    <td>${user.hobbies}</td>
  </tr>
</table>
  @ModelAttribute    :${username}<br/>
  @ModelAttribute    2:${modelAttributeTest}<br/>
  request    3:${requestTest}<br/>
  session    4:${sessionTest}
</body>
</html>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기