springMVC 는 어떻게 controller 의 데 이 터 를 jsp 페이지 에 전달 합 니까?

1>방법의 반환 값 을 Model AndView 로 되 돌 릴 때 Model AndView 대상 에 데 이 터 를 저장 합 니 다.예 를 들 어:

newModelAndView("/WEBINF/jsp/showData.jsp","message",message)
그 중에서 첫 번 째 매개 변 수 는 url 이 고 두 번 째 매개 변 수 는 전달 할 데이터 의 key 이 며 세 번 째 매개 변 수 는 데이터 대상 이다.
여기 서 주의해 야 할 것 은 데이터 가 기본적으로 request 에 저 장 된 것 입 니 다.
예시:

@RequestMapping(value="/mad/showData_1.do")
public ModelAndView showData_1(){
  String message = "         ";
  /*        url,             key,          。        :         request  。*/
  return new ModelAndView("/WEB-INF/jsp/showData.jsp","message",message);
}
프론트 페이지 가 져 오 는 방법:

request:${requestScope.message}
2>클래스 앞 에 주 해 를 추가 할 수 있 습 니 다.

@SessionAttributes({“message”,”user”})
이 주 해 는 대응 하 는 model 의 인자 도 session 에 저장 할 수 있 습 니 다.이 주해 의 매개 변 수 는 하나의 집합 으로 여러 개 를 쓸 수 있 습 니 다.예 를 들 어 위의 예 와 같이 message 와 user 는 모두 저 장 된 데이터 의 key 입 니 다.
예제 프로그램:

@SessionAttributes({"message","user"})   //modelAndView session
페이지 가 져 오기:

session:${sessionScope.message}<br/>
3>데이터 modelAndView 집합 되 돌려 주기
이 처리 방식 은 위의 처리 방식 과 계속 되 었 습 니 다.model AndView 가 받 아들 인 데이터 형식 은 Object 이 고 집합 도 같은 처리 방식 이기 때 문 입 니 다.
예시:

//  modelAndView          。
//      (     )
  @RequestMapping(value="/mad/showData_2.do")
  public ModelAndView showData_2(){
   System.out.println("showData_2");
   String message = "         ";
   User user = new User("  ", 12, new Date());
   List<User> us= new ArrayList<User>();
   us.add(new User("  ", 12, new Date()));
   us.add(new User("  ", 13, new Date()));
   us.add(new User("  ", 14, new Date()));
   ModelAndView mad = new ModelAndView("/WEB-INF/jsp/showData.jsp");
   //     modelMap
   mad.addObject("message", message);
   mad.addObject(user);//           
   mad.addObject("users", us);
   return mad;
 }
프론트 페이지 가 져 오 는 방법:

request:${requestScope.message}<br/>
<c:forEach items="${requestScope.users }"var="u">
   ${u.name }-${u.age }-${u.birth }<br/>
  </c:forEach>
4.모델 앤 드 뷰 를 사용 하여 여러 개의 인 자 를 전달 합 니 다.
Model AndView 의 mad.addObject("message",message)를 통 해방법 설정 매개 변수.
이 방법 에서 첫 번 째 매개 변 수 는 데이터 의 key 이 고 두 번 째 매개 변 수 는 데이터 대상 이다.
mad.addObject(user)도 사용 할 수 있 습 니 다.방법.
이 방법 에서 데이터 의 매개 변 수 는 데이터 대상 이 고 데이터 의 key 는 이 대상 의 클래스 이름(이니셜 소문 자)입 니 다.
5.ModelMap 을 사용 하여 여러 데 이 터 를 jsp 에 전달 합 니 다.
방법의 매개 변수 목록 에 형 삼 ModelMap map 를 추가 하면 spring 은 자동 으로 ModelMap 대상 을 만 듭 니 다.
그리고 맵 의 put(key,value)나 addAttribute(key,value)를 호출 하여 맵 에 데 이 터 를 넣 으 면 spring 은 자동 으로 데 이 터 를 request 에 저장 합 니 다.
예시:

//  modelMap          。
  //      (     )
  @RequestMapping(value="/mad/showData_3.do")
  public String showData_3(ModelMap map){
   System.out.println("showData_3");
   String message = "         ";
   User user = new User("  ", 12, new Date());
   List<User> us= new ArrayList<User>();
   us.add(new User("  ", 12, new Date()));
   us.add(new User("  ", 13, new Date()));
   us.add(new User("  ", 14, new Date()));
   //     modelMap
   map.put("message", message);
   map.addAttribute("user", user);
   map.put("users", us);
   return"/WEB-INF/jsp/showData.jsp";
  }
페이지 호출:

request:${requestScope.message}<br/>
  session:${sessionScope.message }<br/>
  application:${applicationScope.message}<br/>
  <hr/>
  <h1>ModelMap    </h1>
  ${requestScope.message}<br/>
  ${requestScope.user.name}<br/>
  <p>  </p>
  <c:forEach items="${requestScope.users}" var="u">
   ${u.name }-${u.age }-${u.birth }<br/>
  </c:forEach>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기