Lufthansa AirPlus Servicekarten GmbH
· Hans-Böckler-Straße 7 · 63263 Neu-Isenburg · Germany · Geschäftsführer:
Patrick W. Diemer (Vorsitz), Lutz Logemann · Vorsitzender des Aufsichtsrates:
Stephan Gemkow · Handelsregister: Amtsgericht Offenbach/Main, HRB
8119
Hi to all,
I' ve some problems while trying to build a table
dynamically.
We have some meta-objects
(named RowLayout) that describe,
- which columns will be displayed
- which heading is used
- is the column sortable and what is the name of
the sortProperty.
This approach works fine, as far as I use the
EL-expressions "forEachColumn" and "forEachStatus" within the body of a
tr:column tag.
But, if I try to set the attribute sortProperty
with an EL-expression I get a ClassNotFoundException.
As far as I could see, the mentioned class is present in
facelets.jar.
Here is the code snippet from my Facelet:
<!-- OK
<tr:column sortable="true"
sortProperty="kategorie">
NOT
OK:
<tr:column sortable="true"
sortProperty="#{forEachColumn.spalte}">
java.lang.ClassNotFoundException:
com.sun.facelets.tag.jstl.core.IndexedValueExpression
org.apache.myfaces.trinidadinternal.application.StateManagerImpl
restoreView
SEVERE:
No structure available and no root available
org.apache.myfaces.trinidadinternal.config.xmlHttp.XmlHttpConfigurator
handleError
SEVERE:
Server Exception during PPR, #19
java.lang.NullPointerException
-->
<tr:table value="#{dynamicTable.data}"
var="tableRow"
varStatus="tableStatus"
rowBandingInterval="1"
rows="5"
noWrap="true"
sortable="true">
<c:forEach var="forEachColumn"
varStatus="forEachStatus"
items="#dynamicTable.rowLayout.spalten}" >
<tr:column sortable="true"
noWrap="true"
sortProperty="kategorie"
defaultSortOrder="ascending">
<f:facet name="header">
#{forEachColumn.ueberschrift.header} <br />
</f:facet>
#{tableRow[forEachColumn.spalte]}
</tr:column>
</c:forEach>
</tr:table>
Everything works fine, if sortProperty is a literal
(and no EL-expression).
With an
EL-expression instead, I get an ClassNotFoundException followed by a
NullPointerException.
Our environment is:
myFaces
1.2.1-SNAPSHOT
trinidad
1.2.2
facelets
1.1.13
My question now is:
Why can I use EL-expression within the body of tr:column, but not to
set an attribute of tr:column?
Thanks for your help.
Harald Kuhn
Lufthansa AirPlus Servicekarten GmbH ·
Hans-Böckler-Straße 7 · 63263 Neu-Isenburg · Germany · Geschäftsführer:
Patrick W. Diemer (Vorsitz), Lutz Logemann · Vorsitzender des Aufsichtsrates:
Stephan Gemkow · Handelsregister: Amtsgericht Offenbach/Main, HRB
8119