본문 바로가기
Programming/Java_Spring

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

by 곰네Zip 2022. 10. 19.

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");
%>

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

반응형

댓글