spring mvc에서 현재 url?

4,839 views
Skip to first unread message

나이뽀리

unread,
Jun 13, 2012, 9:18:17 PM6/13/12
to Korea Spring User Group
실행되는 jsp 경로가 아닌 화면 url을 구하고자 합니다.
spring mvc 에서 현재 url을 어떤 방법으로 찾을 수 있을까요?

메뉴를 db에서 조회하여
현재 url과 동일하거나 상위(2 단계 메뉴 구조) 메뉴에 대해
표시를 해줘야 하려고 하는데
현재 url을 찾을 방법이 없을까요?

박세종

unread,
Jun 13, 2012, 9:21:14 PM6/13/12
to ks...@googlegroups.com

나이뽀리

unread,
Jun 13, 2012, 9:32:23 PM6/13/12
to Korea Spring User Group
찾아서 적용해봤던 방법이었는데
이것 역시 jsp 경로를 리턴했습니다.

On 6월14일, 오전10시21분, 박세종 <stevepak0...@gmail.com> wrote:
> http://stackoverflow.com/questions/1490821/whats-the-best-way-to-get-...
> 이걸로 한번 해보세요

석영훈

unread,
Jun 13, 2012, 10:08:07 PM6/13/12
to ks...@googlegroups.com

컨트롤러나.. 인터셉터에서..

HttpServletRequest request 인자로 받은 다음..

request.getRequestURI() 하면 나올텐데요..



2012년 6월 14일 오전 10:32, 나이뽀리 <nif...@gmail.com>님의 말:
> 이걸로 한번 해보세요

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.


나이뽀리

unread,
Jun 13, 2012, 10:17:45 PM6/13/12
to Korea Spring User Group
네.
인터셉터 만들어서 모델에 SET 해줘야 겠네요.

안그래도 인터셉터 만드어서 테스트해보는 중이었는데
인터셉터에서는 잘 나옵니다.

답변해주신 세종님과 영훈님 감사합니다.

On 6월14일, 오전11시08분, 석영훈 <seok...@gmail.com> wrote:
> 컨트롤러나.. 인터셉터에서..
>
> HttpServletRequest request 인자로 받은 다음..
>
> request.getRequestURI() 하면 나올텐데요..
>

> 2012년 6월 14일 오전 10:32, 나이뽀리 <nife...@gmail.com>님의 말:

이재일

unread,
Jun 13, 2012, 10:47:59 PM6/13/12
to ks...@googlegroups.com

org.springframework.security.web.util.UrlUtils.buildFullRequestUrl(HttpServletRequest r)

이건 어떠신지요?


2012년 6월 14일 오전 11:17, 나이뽀리 <nif...@gmail.com>님의 말:

나이뽀리

unread,
Jun 14, 2012, 12:02:50 AM6/14/12
to Korea Spring User Group
security uril을 사용해도 동일하게 jsp 경로가 리턴되네요.

@MVC에서 annotation으로 매핑하여 컨트롤러를 사용중인데
인터셉터로 한다는게 조금 찝찝하지만
아직 방법이 없으니 인터셉터로 작업을 해야겠습니다.


On 6월14일, 오전11시47분, 이재일 <son...@gmail.com> wrote:
> org.springframework.security.web.util.UrlUtils.buildFullRequestUrl(HttpServ letRequest
> r)
>
> 이건 어떠신지요?
>
> 2012년 6월 14일 오전 11:17, 나이뽀리 <nife...@gmail.com>님의 말:

은메달

unread,
Jun 14, 2012, 12:22:12 AM6/14/12
to Korea Spring User Group
저도 이 문제에 대해 인터셉터를 통해 해결했었습니다.

개발 초기에 MVC 에 매핑된 모든 액션에 대해 공통적으로 적용되는 표현 계층에 해당하는 로직을 담고 있는

인터셉터를 만들어 두었던 터라 별 고민 없이 requestURL, requestURI, servletPath 를 뷰단에서 쓸수
있도록 하는 부분을 추가했었습니다.

코바(이수홍)

unread,
Jun 14, 2012, 12:37:38 AM6/14/12
to ks...@googlegroups.com
원하는게 이게 맞는지 모르겠지만

el : ${requestScope["javax.servlet.forward.request_uri"]}
스크립트릿 : request.getAttribute("javax.servlet.forward.request_uri")
이 두개를 찾으시는거 같은데요???
맞나요?



2012년 6월 14일 목요일 오전 10시 18분 17초 UTC+9, 나이뽀리 님의 말:

나이뽀리

unread,
Jun 14, 2012, 12:51:30 AM6/14/12
to Korea Spring User Group
네. 맞습니다.
저런 식으로 가져올 수 있다는 걸 처음 봤네요. ^^

답변 주신 모든 분들께 감사합니다.

은메달

unread,
Jun 14, 2012, 1:27:15 AM6/14/12
to ks...@googlegroups.com
와. 이런게 있었네요.

저도 코바님께서 주신 방법으로 변경해야 겠습니다.

좀 더 찾아보니

javax.servlet.forward.request_uri
javax.servlet.forward.context_path
javax.servlet.jsp.jstl.fmt.locale.request
javax.servlet.jsp.jstl.fmt.localizationContext.request
javax.servlet.forward.query_string

이런것들도 있네요.

코바(이수홍)

unread,
Jun 14, 2012, 3:23:49 AM6/14/12
to ks...@googlegroups.com
아 넵 그런것도 있고

에러 페이지에서 사용하는 

request.getAttribute("javax.servlet.error.message")

${requestScope['javax.servlet.error.message']}

이것도 있습니다.

response.sendError(HttpServletResponse.SC_FORBIDDEN, "메세지"); 로 보낸 에러 메세지를 이것으로 받습니다. 

web.xml에서 정의된 error 페이지에 사용 하시면됩니다.





2012년 6월 14일 목요일 오후 2시 27분 15초 UTC+9, 은메달 님의 말:
Reply all
Reply to author
Forward
0 new messages