Programming/Java_Spring

HttpServletRequest/Response를 이용하여 redirect시, 데이터 전달하기.

곰네Zip 2022. 10. 19. 11:04

HttpWebServlet에서 다른 URL로 이동해야할 일이 있었다. (정확하게는 OAuth의 result에서 우리 페이지로 전달하는 과정)

여기서 특정한 값을 전달해주려고 (에러메시지를 위한..) 하는데 어떻게 해야하나..

역시 스형!

방법에 대한 링크는 여기

https://stackoverflow.com/questions/17001185/pass-hidden-parameters-using-response-sendredirect

 

Pass Hidden parameters using response.sendRedirect()

How would I pass hidden parameters? I want to call a page (test.jsp) but also pass 2 hidden parameters like a post. response.sendRedirect("/content/test.jsp");

stackoverflow.com

바쁘신 분들을 위해 한국어로 간략하게 기술하겠음..

 

1. java쪽 소스

protected void doGet(HttpServletRequest req, HttpServeltResponse resp) 
		throws ServletException <- 이 exception 필요
{
	...
	String redirectURL = ${Redirect할URL};
	req.setAttribute("MyAttr","Value");
    RequestDispatcher dispatcher = servletContext.getRequestDispatcher(redirectURL);
    dispatcher(req,resp);
    ...
}

2. JSP쪽에서 받아와서 쓰려면?

<c:out value=${MyAttr} />

or

<%
	request.getAttribute("MyAttr");
%>

위 둘중에 하나로 가져올 수 있다. 어느쪽이든 다 됨. ㅎ

반응형