2011-10-28 2 views
4

다음과 같이 내가 ApplicationSettings에 넣어 사용자 정의 InternalErrorPage을 가지고 :개찰구의 InternalErrorPage에서 스택 추적을 표시하는 방법

getApplicationSettings().setInternalErrorPage(InternalErrorPage.class); 
getExceptionSettings().setUnexpectedExceptionDisplay(
    IExceptionSettings.SHOW_INTERNAL_ERROR_PAGE); 
getRequestCycleSettings().setUnexpectedExceptionDisplay(
    IExceptionSettings.SHOW_INTERNAL_ERROR_PAGE); 

내가이 페이지에서 스택 추적을 표시 할 (내가 개발 모드에있어 경우 , 당연하지). 어떻게해야합니까?

+0

PRODUCT 모드에서 고객에게 스택 트레이스를 표시하는 것은 잘못된 보안 방법입니다. 이것이 개찰이이 페이지에 예외를 넘기는 이유입니다. –

+1

네, 그 이유는 내가 개발 모드에 대해서만 썼다는 것입니다 – javagirl

답변

4

개찰구 1.4에서는

getRequestCycle().onRuntimeException(new MyErrorPage(), theException); 

더 설명에 대한 Wicket wikithe mailing list에서 살펴보고 사용할 수 있습니다.

개찰돌 1.5에서 onRuntimeException은 removed입니다. 대신 당신은

". org.apache.wicket.Application.getRequestCycleListeners()와 함께 자신의 org.apache.wicket.request.cycle.IRequestCycleListener (AbstractRequestCycleListener)를 추가 (RequestCycle를 (추가)하고 #onException을 구현할 수 있습니다 , Exception) "(here에서 인용)

+0

그래서 조언을 세션 변수의 일종의 예외를 넣어? 그러면 세션에서 가져 와서 InternalErrorPage.java 클래스에 표시 할 수 있습니까? 방금 wicket itslef에 의해 이미 수행 된 것일뿐입니다.이 예외가 내 페이지에만 필요합니다. – javagirl

+2

아니요, 오류 페이지에 예외를 전달하기 만하면됩니다. 링크를 따라 간다면 Wicket에서와 같은 방식으로 볼 수 있습니다. –

관련 문제