srringmvc에서 Controller가 전방으로 값을 전달합니다

2468 단어

1. 앞말


자바 웹을 배울 때 백엔드에서 전방으로 값을 전달합니다. 주로 Request 대상을 통해 값을 전달합니다.springmvc 프레임워크에서 Controller층은 전방으로 값을 전달해야 하는데 주로 ModelandView Model를 통해 이루어지고 주석@SessionAttributes도 값을 전달할 수 있다.다음은 ModelandView 대상ModelModelMap@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";
}

좋은 웹페이지 즐겨찾기