내 preRenderView
호출 된 메서드에서 일부 유효성 검사가 수행되고 실패하면 리디렉션이 발생합니다. 에 가정이 주제에 관한jsf IllegalStateException 반환과 함께 심지어 리디렉션시
public static void addMessageInvalidLinkRedirect(FacesContext context, String url)
{
context.addMessage(null, new FacesMessage("Invalid link..."));
try
{
context.getExternalContext().redirect(url);
}
catch (final IOException e)
{
// add error message
}
}
많은 답변 :
이public void initPreRenderView(final String value) throws DatabaseException
{
if (value == null)
{
FacesContextUtils.addMessageInvalidLinkRedirect(context, url);
return;
}
}
기본적으로 유틸리티 기능으로 구성
그러나 내가 여기 IllegalStateException
Information: Exception when handling error trying to reset the response.
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:524)
at com.sun.faces.context.ExternalContextImpl.redirect(ExternalContextImpl.java:602)
at package.FacesContextUtils.redirect(FacesContextUtils.java:581)
무엇입니까 코드입니다 preRenderView m에서 수행 한 리디렉션 문 다음에 return을 추가합니다. ethod.
편집 :
리디렉션이 발생하고 모든 것이 예상대로 작동합니다. 이 오류 메시지를 없애기 만하면됩니다.
왜보기를 렌더링하기 전에 리디렉션을 시도하고 있습니까? –
사용자가 유효한 view-param없이 뷰를 방문하도록되어 있지 않습니다. 이 경우는 절대로 발생하지 않지만 사용자가 손으로 URL을 조작하면 여전히 발생할 수 있습니다. – djmj
''에 유효성 검사기를 사용할 수 있습니다. http://stackoverflow.com/q/4888942/1065197 –