반응형
프로그래밍 방식으로 현재 페이지 가져 오기
JSF 백업 빈 (Managed Bean, Weld Bean은 중요하지 않음)에서 다음을 호출하여 클라이언트가있는 컨텍스트 경로를 가져올 수 있습니다.
FacesContext ctx = FacesContext.getCurrentInstance();
String path = ctx.getExternalContext().getRequestContextPath();
이것은 클라이언트가 현재 액세스하는 경로를 제공합니다 /myapplication
. 같은 현재 페이지 를 가져올 수도 /home.faces
있습니까?
일반적으로 UIViewRoot#getViewId()
이것을 사용하고 싶습니다 .
String viewId = facesContext.getViewRoot().getViewId();
이것은 EL에서도 다음과 같이 사용할 수 있습니다.
#{view.viewId}
정확히 값이 같은 경우 탐색 결과에서 재사용 가능한하다 <h:link outcome>
하고 <h:button outcome>
.
HttpServletRequest#getRequestURI()
또는를 사용 하여 최종 사용자가 실제로 브라우저 주소 표시 줄에 표시 하는 내용 을 가져올 수도 있습니다 .
String uri = ((HttpServletRequest) externalContext.getRequest()).getRequestURI();
EL에서도 다음과 같이 사용할 수 있습니다.
#{request.requestURI}
정확히이 값은 <h:outputLink value>
또는 일반 에서 재사용 할 수 <a href>
있습니다. 탐색 케이스 결과로 사용할 수 없습니다.
알겠습니다.
FacesContext ctx = FacesContext.getCurrentInstance();
HttpServletRequest servletRequest = (HttpServletRequest) ctx.getExternalContext().getRequest();
// returns something like "/myapplication/home.faces"
String fullURI = servletRequest.getRequestURI();
String uri = ((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getRequestURI();
String str = ((HttpServletRequest) FacesContext.getCurrentInstance()
.getExternalContext().getRequest()).getRequestURI();
System.out.println(str);
참고 URL : https://stackoverflow.com/questions/3253923/get-current-page-programmatically
반응형
'Program Tip' 카테고리의 다른 글
Rails에서 before_filter 건너 뛰기 (0) | 2020.11.30 |
---|---|
산발적으로 발생하는 버그를 어떻게 재현합니까? (0) | 2020.11.30 |
HTML 캔버스 전체 화면 (0) | 2020.11.30 |
프로그래밍 방식으로 ListView에서 항목을 선택하는 방법은 무엇입니까? (0) | 2020.11.30 |
파이썬의 deques는 어떻게 구현되며 언제 목록보다 더 나쁩니 까? (0) | 2020.11.30 |