I have generated a simple application based on a one-table schema. I then changed the JSPs to Facelets and am displaying the list (from the Finder bean) and the edit page side-by-side.
I want to include an indicator in the list that points to the selected entry displayed in the edit page. I tried the following code:
<h:dataTable value="#{parentClassList}" var="parentClass"
styleClass="listtable"
headerClass="listtablehead"
rowClasses="listtableodd,listtableeven"
columnClasses="listtablecol">
<h:column>
<f:facet name="header">
<h:commandLink value="#{msg.ParentClass_name}" action="#{parentClassFinder.reorder}">
<f:param name="orderBy" value="name"/>
</h:commandLink>
</f:facet>
<h:outputText value="-> " rendered="#{parentClass == parentClassFinder.selectedParentClass}"/>
<h:commandLink value="#{parentClass.name}" action="#{parentClassSelector.select}"/>
</h:column>
</h:dataTable>
When I try to view this page I get the following error:
javax.faces.el.PropertyNotFoundException: /ParentClassNavigator.xhtml @29,115 rendered="#{parentClass.id == parentClassFinder.selectedParentClass}": Bean: $Proxy276, property: selectedParentClass
I suspect that the problem is that the attribute "selectedParentClass" (annotated with @DataModelSelection) is not available to the FacesContext. I tried annotating it with @Out but this didn't fix the problem.
This may not be a Seam issue but I would welcome any suggestions.