스프링 redirect 파마미터 처리
스프링에서 redirect를 사용할때 파라미터 값을 넘겨야 할 경우가 있다.
예를들어
xxx.do?id=mm&name=lee
이렇게 하면 값은 가지만...
url에 데이터값이 다 노출되기 때문에 먼가 꺼림직하다.
그래서 데이터를 숨기면서 다른 controller로 보낼 방법을 검색하였다.
방법 1.
값 전달하기
@RequestMapping(value="/test.do",method=RequestMethod.POST) public String test(HttpServletRequest req,@RequestParam Map<string,object>params, ModelMap modelMap,RedirectAttributes redirectAttributes)throws Exception{ params.put("result", result); redirectAttributes.addFlashAttribute("params", params); //전달할 값 return "redirect:test.do";
값 받기
Map<string, ?> flashMap = RequestContextUtils.getInputFlashMap(req); if(flashMap !=null) { // flashMap.get("params") 으로 값 받아서 사용 params=(Map<string, object>) flashMap.get("params"); }
방법 2.
값 전달하기
//FlashMap에 전달할 값을 저장한다. FlashMap fm = RequestContextUtils.getOutputFlashMap(req); fm.put("test", "test"); return "redirect:/test.do"; //여기서 redirect url은 직접 기재하는것을 추천합니다. //변수명으로 호출했을때 안되는 경우를 접했기 때문에...
값 받기
//FlashMap에 저장되어 전달된 값을 가져온다. Map<String, ?> flashMap = RequestContextUtils.getInputFlashMap(req); if(flashMap !=null) { modelMap.put("test", (String)flashMap.get("test")); }
'개발 > java,spring' 카테고리의 다른 글
자바 날짜형식, 데이트 타입/포맷 확인 (0) | 2017.07.05 |
---|---|
도메인, VO 객체 Serializable 직렬화 (0) | 2017.06.13 |
스프링/아이바티스 2개의 DB연결 (0) | 2017.05.23 |
java, jsp 페이징처리 (0) | 2017.03.16 |
버블정렬(bubble sort)_자바구현 (0) | 2016.11.08 |
삽입정렬(insert) 알고리즘_자바 구현 (0) | 2016.11.05 |
java 정규식 활용 (Patter, Matcher) (0) | 2016.09.16 |