Hi,
I found a strange behaviour in one of our pages (facelet).
From time to time there seems to be a state of <tr:outputText>.
I can’t think of a situation where <tr:outputText> should save a state, neither
does Trinidad assume this case.
Therefore there is a ClassCastException thrown on RestoreState.
Our environment is:
Tomcat 6
Myfaces 1.2.3
Trinidad 1.2.10 (SNAP)
Facelets 1.1.14
Any pointers to solve this problem are welcome.
Thanks in advance
Harald
facelet fragment:
…
<table>
<tr:iterator id="iterator"
value="#{textFilter.listFilter}"
var="columnFilter"
varStatus="status"
rows="0" >
<tr>
<td>
<!-- ******************** -->
<tr:outputText
value="#{bundle['aim.text.label.reportgen.textenthaelt']}:" />
<!-- ******************** -->
</td>
<td> </td>
<td>
<tr:inputText id="textBedingung"
value="#{columnFilter.textBedingungFrontend}"
inlineStyle="width:120px;"
simple="true"
onkeyup="javascript:this.value =
this.value.toUpperCase();" />
</td>
<td> </td>
<td> </td>
</tr>
</tr:iterator>
</table>
…
Exception:
javax.servlet.ServletException:
org.apache.myfaces.trinidad.component.core.output.CoreOutputText
at
javax.faces.webapp._ErrorPageWriter.throwException(_ErrorPageWriter.java:401)
at
javax.faces.webapp.FacesServlet.handleLifecycleException(FacesServlet.java:221)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:156)
at
com.airplus.aim.webapp.jsf.AIMFacesServlet.service(AIMFacesServlet.java:63)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
at
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.airplus.aim.webapp.filter.AIMFilter.doFilter(AIMFilter.java:147)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassCastException:
org.apache.myfaces.trinidad.component.core.output.CoreOutputText
at
org.apache.myfaces.trinidad.component.StampState$EVHState.restoreRowState(StampState.java:451)
at
org.apache.myfaces.trinidad.component.StampState.restoreStampState(StampState.java:125)
The cause of the exception is:
EditableValueHolder evh = (EditableValueHolder) child;
In case of the exception child is of type CoreOutputText.
Harald Kuhn
AirPlus International
Business Information Services
Dornhofstr. 36
63263 Neu-Isenburg
T +49 (0) 61 02. 2 04 - 8 21
F +49 (0) 61 02. 2 04 - 1 39
[email protected]<mailto:[email protected]>
www.airplus.com<http://www.airplus.com/>