2010-12-08 8 views
1

WAS6.1에서 WAS7.0으로 업그레이드 한 이후 배열에 포함 된 값을 표시 할 때 오류가 발생합니다.Websphere 7 & JSTL : 배열에서 값을 가져올 수 없음 -> EL 구현에 누락 된 리소스 : ??? propertyNotReadable?

자바 :

private Date[] days = new Date[10]; 
public Date[] getDays() { 
    return days; 
} 

JSP :

<td><fmt:formatDate value="${fair.days[0]}" pattern="dd.MM.yyyy" /><td> 

이 다음과 같은 오류가 발생하십시오 WAS6.1 서버에 배포 할 때

[Exception in:/tilesContent/listFairs_bodyarea.jsp] Missing Resource in EL 
implementation: ???propertyNotReadable??? 

내 응용 프로그램이 잘 작동합니다. 이 문제점은 WAS7에서만 발생합니다.

일 [0]을 반환하고 $ {fair.firstDay}을 (를) 사용하여 액세스하는 getFirstDay() 메소드가 추가되었습니다. 배열에 액세스하는 데 문제가 있습니까?

답변

3

문제에 대한 부분적인 설명과 해결 방법을 찾은 것 같습니다.

Fair 클래스에 새로운 인덱스 속성을 추가하여 인덱스가
속성이 작동하는지 확인합니다. 그들이하다.

days 배열에 대한 새 getter를 추가하고 getXyz()라는 이름을 지정했습니다. 그게 괜찮 았어.

원래 getter와 setter가 비대칭 (히스테리 컬 한 이유)으로 나타났습니다.

public Date[] getDays() {            
    return days;               
}                  
public void setDay(int day, Date date) {         
    this.days[day] = date;            
}  

나는 이것이 약간 이상하다는 것을 알고 있지만, 지금은 개선되었다.

public Date[] getDays() {            
    return days;               
}                  
public void setDays(Date[] dates) {          
    this.days = dates;             
}                  
public void setDay(int day, Date date) {         
    this.days[day] = date;            
} 

문제가 더 이상 발생 다음 없기 때문에 어쨌든, 난 방법을 수정했습니다.

필자는 게터 만 사용 중이므로 왜이 문제가 해결되는지에 대한 설명이 없습니다. 이 '솔루션'은 코드가 더보기 좋고 작동하기 때문에 나에게 좋습니다.

은 (이 문제가 해결 왜 알고있는 경우에 코멘트를 추가 부담)

1

실제로 다른 문제가 있습니다. 사용 된 EL 구현에서 실제 예외 메시지를 찾을 수 없습니다. 이는 classpath에있는 다른 버전의 오래된 EL 구현이 applicationserver에서 제공 한 EL 구현과 충돌 함을 나타냅니다.

webapp의 /WEB-INF/lib에 하나의 서버에만 해당하는 JAR 파일이 없는지 확인하십시오. 폴더를 정리하여 서버 별 JAR 파일을 제거하십시오.

+0

그냥 서버에보고했다./WEB-INF/lib는 struts.jar와 별개로 비어 있습니다. 그 항아리는 저에게 명시 적으로 자동 배치되지 않습니다. +1 '유용한 팁입니다. – paul

+0

다른 클래스 경로 위치를 확인하십시오. JRE/lib, JRE/lib/ext. 이것은 분명히 다른 버전 클래스/JAR의 classpath 오염의 징조입니다. – BalusC

+0

의견을 주셔서 감사합니다. 내가 정확히 무엇을 찾고 있어야합니까? 깨끗한 배포 - 서버 삭제, 서버 생성, 설치 등을 확실히 수행하고 있음을 확신합니다. – paul

관련 문제