Request 에서 URL이 아닌 엔트패턴 데이터를 뽑을 수 있는 방법 있나요?
- 작성자 :
- 김*훈
- 작성일 :
- 2014-05-19 17:33:37
- 조회수 :
- 512
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요 아래 답변은 잘 보았습니다.
현재 인터셉터에서 들어오는 URL의 엔트패턴 정보를 확인하고자 합니다.
예를들어 @RequestMapping(value="/common/{codeTy}/{codeId}/boardList.do") 와같이 컨트롤단에 설정하고
인터셉터에서 URL에 매팅되는 엔트패턴의 정보를 확인하고자 합니다.
request.getServletPath() 통하여 들어오는 URL이 "/common/board/A01/boardList.do" 라고 하면 이 값이 매핑되는 RequestMapping ID ( value="/common/{codeTy}/{codeId}/boardList.do") 를 알고 자 합니다.
현재 인터셉터의 기능은 구현되었습니다.
HandlerInterceptorAdapter를 상속 받아 preHandle 오버라이딩 하여 인터셉터를 구현하였고
URL도 체크를 하고 있습니다.
URL에 값이 아닌 URL 매핑되는 엔트 경로 패턴을 알고자합니다.
스트링으로 "/common/{codeTy}/{codeId}/boardList.do" 와같이 출력 하고자 합니다.
말씀하신대로 Request 에서 해당 엔트패턴 데이터를 뽑을 수 있는 방법을 모르겠습니다.
현재 인터셉터에서 들어오는 URL의 엔트패턴 정보를 확인하고자 합니다.
예를들어 @RequestMapping(value="/common/{codeTy}/{codeId}/boardList.do") 와같이 컨트롤단에 설정하고
인터셉터에서 URL에 매팅되는 엔트패턴의 정보를 확인하고자 합니다.
request.getServletPath() 통하여 들어오는 URL이 "/common/board/A01/boardList.do" 라고 하면 이 값이 매핑되는 RequestMapping ID ( value="/common/{codeTy}/{codeId}/boardList.do") 를 알고 자 합니다.
현재 인터셉터의 기능은 구현되었습니다.
HandlerInterceptorAdapter를 상속 받아 preHandle 오버라이딩 하여 인터셉터를 구현하였고
URL도 체크를 하고 있습니다.
URL에 값이 아닌 URL 매핑되는 엔트 경로 패턴을 알고자합니다.
스트링으로 "/common/{codeTy}/{codeId}/boardList.do" 와같이 출력 하고자 합니다.
말씀하신대로 Request 에서 해당 엔트패턴 데이터를 뽑을 수 있는 방법을 모르겠습니다.
A
안녕하세요. 김동훈님.
일치하는 URL 패턴을 알 수는 없습니다. (패턴 정보를 HandlerAdapter나 Interceptor로 넘기지 않음)
헤당 정보를 얻기 위해서는 DispatcherServlet 내부 처리 부분에 대하여 수정되거나 HandlerMapping 기능을 확장하면 가능하겠지만, 단정적으로 가능하다고 말씀드리기도 어려울 것 같습니다.
(DefaultAnnotationHandlerMapping을 확장하셔서 현재 일치하는 패턴 정보를 ThreadLocal 등에 보관하시는 방법이 가능할 것으로 판단)
그럼, 즐거운 하루되십시오.
감사합니다.
일치하는 URL 패턴을 알 수는 없습니다. (패턴 정보를 HandlerAdapter나 Interceptor로 넘기지 않음)
헤당 정보를 얻기 위해서는 DispatcherServlet 내부 처리 부분에 대하여 수정되거나 HandlerMapping 기능을 확장하면 가능하겠지만, 단정적으로 가능하다고 말씀드리기도 어려울 것 같습니다.
(DefaultAnnotationHandlerMapping을 확장하셔서 현재 일치하는 패턴 정보를 ThreadLocal 등에 보관하시는 방법이 가능할 것으로 판단)
그럼, 즐거운 하루되십시오.
감사합니다.