springMVC 에서 contrller 의 몇 가지 반환 유형 에 대해 말씀 드 리 겠 습 니 다.
4701 단어 springMVCcontroller반환 형식
1.ModelAndView 로 돌아 가기
Model AndView 로 돌아 갈 때 가장 흔히 볼 수 있 는 반환 결과 입 니 다.방법 이 끝 날 때 Model AndView 대상 을 정의 하고 Model 과 View 를 각각 설정 해 야 합 니 다.
2、복귀 String
1):논리 보기 이름 을 나타 내 는 문자열
실제 접근 경로="접두사"+논리 보기 이름+"접두사"
메모:논리 보기 이름 을 나타 내 는 String 을 되 돌려 준다 면 Model 의 되 돌아 오 는 방식 은 다음 과 같 습 니 다.
public String testController(Model model){
model.addAttribute(attrName,attrValue);// ModelAndView addObject
return " ";
}
2):리 다 이 렉 트 리 다 이 렉 트redirect 의 특징 은 servlet 와 마찬가지 로 redirect 를 사용 하여 주소 표시 줄 의 URL 을 변경 하 는 동시에 이전 request 를 휴대 하지 않 습 니 다.
사례:
public String testController(Model model){
return "redirect:path";//path
}
3):대표 forward 리 트 윗forward 를 통 해 전송 합 니 다.주소 표시 줄 의 URL 은 변경 되 지 않 습 니 다.또한 지난번 request 를 쓰기 요청 에 가 져 갑 니 다.
사례:
public String testController(Model model){
return "forward:path";//path
}
3、돌아 가기 void이 결 과 를 되 돌 릴 때 Controller 방법의 인삼 에서 HTTP ServletRequest 와 HTTP ServletResponse 대상 이 요청 한 수신 과 응답 을 정의 할 수 있 습 니 다.
1)request 로 페이지 전송
request.getRequestDispatcher(" ").forward(request,response);
2)response 를 사용 하여 페이지 방향 변경
response.sendRedirect(" ");
3)응답 결 과 를 response 로 지정 할 수도 있다.
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter.write("json ");
상기 세 가지 반환 치 는 중요 하지 않 고 중요 하지 않 은 차이 가 없다.일반적으로 모두 사용 할 수 있 지만 가끔 사용 하 는 방식 은 약간의 차이 가 있 을 수 있다.보충:SpringMvc 에서 Controller 방법의 다양한 실현 방식(어느 페이지 로 돌아 갈 지 지정 하고 페이지 로 돌아 갈 데 이 터 를 지정 합 니 다)
1)ModelAndView
@RequestMapping("/list")
public ModelAndView itemsList() throws Exception{
List<Items> list = itmesService.list();
// ModelAndView
ModelAndView modelAndView = new ModelAndView();
// list
modelAndView.addObject("itemList", list);
modelAndView.setViewName("itemList");// ,
// , , ("/WEB-INF/jsp/itemList.jsp")
return modelAndView;
}
2)String(가장 많이 사용 되 는,가장 편리 한,제안)
@RequestMapping("/itemEdit/{id}")
public String itemEdit(@PathVariable("id") Integer id, HttpServletRequest reuqest,
Model model) throws Exception{
//String idStr = reuqest.getParameter("id");
Items items = itmesService.findItemsById(id);
// items
model.addAttribute("item", items);
// editItem, @Controller , , ("/WEB-INF/jsp/editItem.jsp")
return "editItem";
}
3)void 로 돌아 가기
public void update(Items items,HttpServletRequest request,HttpServletResponse response)throws Exception{
// , items items ,jsp items
request.setAttribute("items", items);
//
// void , SpringMvc , ,
//
request.getRequestDispatcher("/WEB-INF/jsp/success.jsp").forward(request, response);
}
SpringMvc , ,
//
request.getRequestDispatcher("/WEB-INF/jsp/success.jsp").forward(request, response);
}
4)방법 에 필요 한 매개 변수 정의3)의 예 를 들 어 저 는 update 방법 에서 정 의 했 습 니 다.
Items items,HttpServletRequest request,그리고 HttpServletResponse response 세 가지 유형.
하지만 제 가 방법 에 response 를 사용 하지 않 았 기 때문에 삭제 할 수 있 습 니 다.프로그램 에 있어 서 는 그렇지 않 습 니 다.
영향 을 미치다.
따라서 여러분 이 방법 을 정의 할 때 자신의 실제 수요 에 따라 필요 한 종 류 를 정의 할 수 있 거나 나중에 코드 가 바 뀌 어야 할 까 봐 걱정 된다 면
모든 정의 에서 도 가능 합 니 다.
업데이트
5)인터페이스 가 페이지 를 뛰 어 넘 는 것 이 아니 라 데 이 터 를 되 돌려 주 려 면@ResponseBody 의 주 해 를 추가 해 야 합 니 다.
예:
@RequestMapping("atimynyc/getUser")
@ResponseBody
public User getUser(String id){
User user = new User();
user.setUserName = "Atimynyc";
user.setUserAge = 18;
user.setUserPhone = "123456789";
return User;
}
Response Body 를 더 하면 springmvc 는 이 인터페이스 가 데 이 터 를 되 돌려 주 는 것 임 을 알 수 있 습 니 다.예 를 들 어 ajax 로 위의 인터페이스 url 을 호출 할 때 atimy nyc/getUser 는 user 라 는 대상 을 얻 을 수 있 습 니 다.이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Spring MVC] [1] 5. 스프링 MVC - 구조 이해핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회 핸들러 어댑터 실행: 핸들러 어댑터를 실행 핸들러 매핑 org.sp...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.