2 Replies Latest reply on Oct 20, 2006 4:16 PM by dougorr

    Problem enhancing a reverse engineered CRUD app

    dougorr

      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.