srringmvc에서 Controller가 전방으로 값을 전달합니다
1. 앞말
자바 웹을 배울 때 백엔드에서 전방으로 값을 전달합니다. 주로 Request 대상을 통해 값을 전달합니다.springmvc 프레임워크에서 Controller층은 전방으로 값을 전달해야 하는데 주로
ModelandView
와 Model
를 통해 이루어지고 주석@SessionAttributes
도 값을 전달할 수 있다.다음은 ModelandView 대상、
Model、
ModelMap、
@SessionAttributes`와 그것들의 사용 방법을 소개합니다.2、ModelandView
ModelandView
는 보기 이름이나 보기 대상 및 일부 데이터 모델을 포함하는 대상으로 컨트롤러가 요청을 처리한 후에 중앙 컨트롤러로 되돌려줍니다.우리는 ModelandView
에 매개 변수를 넣고 되돌아오는 페이지를 지정할 수 있습니다.ModelAanView 대상은 Request 대상에 놓여 있으며 jsp 페이지는el 표현식을 통해 직접 접근해서 파라미터를 얻을 수 있습니다.ModelandView를 사용하려면 new로 가야 합니다.3、Model
Model은 하나의 인터페이스로 그의 실현 클래스는 ExtendedModelMap이고 ModelMap 클래스를 계승하여 Map 인터페이스를 실현했다.그것은 모델 데이터를 전달할 수 있지만, 업무 주소 찾기는 할 수 없다.
4、ModelMap
모델맵은 모델과 맵을 결합하면 모델의 방법으로 참조를 전달할 수도 있고 맵의 방법으로 참조를 전달할 수도 있지만 여전히 업무 주소를 찾을 수 없다.
5、@SessionAttributes
이 주석은 모델의 속성을session에 동기화할 수 있으며, 클래스에만 주석을 달 수 있고 방법에는 주석을 달 수 없습니다.
5. Controller가 전면에 값을 전달하는 예
1. ModelandView를 사용하여 값을 전달한다.
@RequestMapping("/test1")
public ModelAndView test1() {
ModelAndView mv = new ModelAndView();
//
mv.addObject("username", "test1");
mv.addObject("password", "test1test");
// jsp
mv.setViewName("success");
// ModelAndView
return mv;
}
2. 모델 전송 값 사용
@RequestMapping("/test2")
public String test2(Model model) {
model.addAttribute("username", "test3");
model.addAttribute("password", "test3test");
return "success";
}
3. ModelMap을 사용하여 값을 전달한다.
@RequestMapping("/test4")
public String test4(ModelMap model) {
model.addAttribute("username", "test4");
model.put("password", "test4test");
return "success";
}
4, 맵 전송 값 사용
@RequestMapping("/test2")
public String test2() {
Map map = new HashMap<>();
map.put("username", "test2");
map.put("password", "test2test");
return "success";
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.