2011-11-20 2 views
0

두 페이지를 썼습니다 ... 하나는 데이터가 제출되고 두 번째 트랜잭션이 실제로 일부 계산을 수행했는지 확인하는 양식입니다.JSF 페이지 탐색이 NullPointerException으로 인해 실패했습니다.

저는 관리 빈 즉 FormDataBean과 Reservation.java 클래스를 가지고 있습니다. 여기서 각 예약에 대해 인스턴스화합니다. 이제는 제출 버튼의 마지막에 제출 버튼이 있습니다.

<h:commandButton value="Submit" action="confirmation"/> 

빈에서 저는 평소와 같이 setter 및 getters를 보유하고 있습니다. 인스턴스 variabels하는 방법에 난 계산을 수행하는 인스턴스 변수에 할당 된 값을 사용한다)

reservation.startDate = startDate; 
reservation.endDate = endDate; 
reservation.checkRange(); 

마지막에있어서, 즉 checkRange (원한다면, 그리고, I는 예약의 인스턴스를 생성 정의 콩 변수를 설정. 문자열의 성공 또는 실패를 리턴해야합니다.

이제 양식에 데이터를 입력하고 제출을 누르면 페이지가 새로 고쳐 지지만 아무 것도 제출되지 않습니다. 다음 페이지로 이동하지 않기 때문에 : ( 다른 프로젝트에서 다음 페이지에 간단한 계산 및 결과 표시를 수행하기 때문에 탐색 규칙을 정의 할 필요가 없습니다. 조언 감사합니다,

답변

0

당신의 대답은 추측의 일종 그래서 우리에게 더 중요한 몇 가지 세부 사항을 알려 누락되었습니다. 당신이 탐색 규칙을 사용하지 않기 때문에

내가, 당신이 JSF 2 사용한다고 가정 때로 믿을 수

JSF 2를 사용하면 탐색 규칙없이 새 탐색 대상을 직접 설정할 수 있습니다. 결과 파일의 이름이 confirmatio 인 경우 "확인"으로 전달해야합니다. n.xhtml. 그것을 확인하십시오. 탐색 규칙을 사용하면 다른 파일을 전달할 수 있습니다.

이 부분은 나머지 부분과 상관없이 작동해야합니다.

값을 얻지 못하는 bean에 대해서는 faces-config.xml의 주석 또는 항목을 통해 올바른 범위를 사용하고 있는지 확인하십시오. 상당히 일반적인 확인 메커니즘을 사용하기 때문에 아마도 세션 범위를 사용해야 할 것입니다.

정확한 방법은 수표를 확인한 후 수표에 따라 네비게이션을 설정하는 동작 수신기를 사용하는 것입니다. 빈 범위가 더 제한적일 수 있습니다.

0

조치 = "확인? faces-redirect = true"를 시도 했습니까?

관련 문제