IDE/STS

[STS] 컨트롤러에서 매핑→리다이렉트매핑시 파타미터 전달

antoroong 2025. 2. 15. 00:01
public String flyParam(HttpSession session, Model model, HttpServletRequest request
    		,RedirectAttributes redirectAttributes) throws Exception {
					String gubn = "D";
					String flag = "A";
						redirectAttributes.addAttribute("gubn", gubn);//get전송방식
						//redirectAttributes.addFlashAttribute("flag", flag);//post방식인데 1회성,새로고침시 값 없어짐
        	return "redirect:/mem/getParam.c";


}

 

 

문제상황 addFlashAttribute post방식으로 여러건 전송할경우) map에 담는다.

 

 

public String flyParam(HttpSession session, Model model, HttpServletRequest request
    		,RedirectAttributes redirectAttributes) throws Exception {
					String gubn = "D";
					String flag = "A";

						Map<String, Object> map = new HashMap<String,Object>();
						        	    map.put("gubn", gubn);
						        	    map.put("upper_flag", upper_flg);
						
						        	redirectAttributes.addFlashAttribute("param", map);
        	return "redirect:/mem/getParam.c";
}

//받는 mapping
@RequestMapping(value = "/mem/getParam.c")
public String getParam(HttpSession session,  HttpServletRequest request
    		) throws Exception {

				Map<String, ?> flashMap = RequestContextUtils.getInputFlashMap(request);
        if(flashMap != null){
        	Map<String, Object> param = new HashMap<>();
        	param = (Map<String, Object>) flashMap.get("param");
        }
				System.out.println("flashMap:"+flashMap);
        System.out.println("param:"+flashMap.get("param"));
        System.out.println("param:"+param);
				System.out.println(param.get("gubn"));
        System.out.println(param.get("upper_flag"));
}