RichFaces、Spring Web Flow、および Hibernate を使用した Java Dynamic Web Module プロジェクト (バージョン 2.5) があります。プロジェクトは Apache Tomcat にデプロイされます (開発目的で、サーバーでは 6.0.20、私のマシンでは 6.0.37 および 7.0.39)。このエラーが頻繁に発生します。
Caused by: javax.el.ELException: /WEB-INF/flows/monitoring/monitor.xhtml @139,114 rendered="#{search.journeyRecord.valid}": Cannot convert valid of type class java.lang.String to class java.lang.Integer
ValidJourneyRecord
クラスからの一時ブール属性です。その宣言を以下に示します。
@Transient
public boolean isValid() {
if (search != null) {
return search.getStatus() == Search.WITH_INSURANCE_COVER;
} else {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.HOUR, -12);
return calendar.after(registrationDate);
}
}
jsf-facelets Maven Package をバージョン 1.1.15 に更新しました。
検索ビーン:
@Entity
public class Pesquisa implements Serializable {
...
private char status;
...
/**
* @return the status
*/
public char getStatus() {
return status;
}
/**
* @param status
* the status to set
*/
public void setStatus(char status) {
this.status = status;
}
...
}
JourneyRecord Bean:
@Entity
public class RegistroViagem implements Serializable{
...
private Date registrationDate;
...
/**
* @return the registrationDate
*/
public Date getRegistrationDate() {
return registrationDate;
}
/**
* @param registrationDate
* the registrationDate to set
*/
public void setRegistrationDate(Date registrationDate) {
this.registrationDate = registrationDate;
}
...
@Transient
public boolean isValid() { ... }
...
}
JSF:
...
<rich:column style="text-align:center;">
<f:facet name="header">Protocol Number</f:facet>
<h:outputText value="#{search.journeyRecord.journeyNumber}" rendered="#{search.journeyRecord.valid}" />
</rich:column>
...