JSF를 개발하고 있지만 문제는 내가 믿는 자바입니다. 그 내가 다음 페이지의 요청 사항을로드하기 때문에 작업을이다 (ID를 복용하여 지금Java 전체 객체가 반환되지 않습니까?
<h:inputHidden id="id" value="#{requestClass.requestID}" />
: 내가 가진 reviewRequest 페이지로 전송되는 요청의 ID를 누르면 확인 그래서, 요청이있는 테이블이 데이터베이스에서 객체 검색). 이제 reviewRequest에서 객체를 수정하고 승인하면 성공적으로 저장되었다고합니다. 그런 다음 테이블에서 동일한 페이지를 다시보고 요청 ID를 클릭하면 nullpointerexception이 발생합니다. 이번에 객체를로드 할 때 메소드를 검색하는 ID를 전달하면 변경 사항 만 반환되지만 이름, 연락처 등과 같은 전체 객체 세부 정보는 반환하지 않습니다. 유형 x의 사용자가 제출 한 수정 y입니다. DB에서 메소드를 검색하는 것은 앱 전체에서 올바르게 작동하기 때문에 효과적입니다. 어떤 생각? 그림 아래의 일부 코드 :
public void callIsValidUser(){
boolean holder = isValidUser();
if(holder == true){
rsvIns = loadDetails();
}else{
try{
FacesContext.getCurrentInstance().getExternalContext().dispatch("pending.xhtml");
}catch(IOException ioe){
System.err.print(ioe);
}
}
}
방법은 위의 첫 번째 시간을 작동하지만 수정 후. isValid()에서 :
public boolean isValidUser(){
boolean valid = false;
try{
rsvLocal = oracleRsv.retrieveReservation(id);
String reqDivHead = rsvLocal.rdhUser.getUserID();
//rsvLocal.rdhUser.getUserResponse();
String supervisor = rsvLocal.sUser.getUserID();
String divHead = rsvLocal.dhUser.getUserID();
String currentUser = System.getProperty("user.name");
.....
내가 넷빈즈 디버그 모드에서 rsvLocal을 검사 할 때 지금, 나는 rdhUser.response 내가 입력 한 수정을 보유하고 있지만, 모든 나머지가 null 인 것을 알 수있다. 어떻게 될 수 있습니까? 객체에서 일부 데이터를 검색하는 방법은 무엇입니까? 감사합니다.
BTW : 시스템 속성 'user.name'으로 무엇을 하든지간에 JSF 컨텍스트에서 fishy가 냄새가납니다. –
정말요? 그것은 항상 잘 작동하고 문자열은 정확히 일치합니다 : 로그인 페이지를 제거 할 수있는 탐지 메커니즘이기 때문에이 방법을 사용해야합니다. –
그럼 코드가 인터넷에 결코 닿지 않기를 바랍니다. 즉, 서버를 시작한 OS 사용자는 John Doe와 다르게 처리됩니다. 이것은 백도어 일 수 있습니다. 이로 인해 여러 동시 사용자가 손상 될 수 있습니다. 이것은 쓰레기 테스트 ("내 컴퓨터에서 작동하는 ...") ... –