1 Reply Latest reply on Apr 24, 2007 7:09 PM by Pete Muir

    Using enhanced EL

    Thomas Barry Newbie

      When selecting an entity from a list (like in the hotel booking example), does the source of the list have to be a DataModel? The following isn't working for me:

      <rich:dataTable id="users" value="#{organizationUsers.resultList}" var="u">
       <f:facet name="footer">
       <s:link value="Add user" action="#{userAdmin.create}"/>
       </f:facet>
       <rich:column>
       <f:facet name="header">Last Name</f:facet>
       <h:outputText value="#{u.lastName}"/>
       </rich:column>
       <rich:column>
       <f:facet name="header">First Name</f:facet>
       <h:outputText value="#{u.firstName}"/>
       </rich:column>
       <rich:column>
       <f:facet name="header">Email</f:facet>
       <h:outputText value="#{u.emailAddress}"/>
       </rich:column>
       <rich:column>
       <f:facet name="header">Last Connected</f:facet>
       <h:outputText value="#{u.lastConnected}">
       <f:convertDateTime pattern="MM/dd/yyyy h:mm a" timeZone="#{userTimeZone}"/>
       </h:outputText>
       </rich:column>
       <rich:column>
       <f:facet name="header">Action</f:facet>
       <s:link id="editUser" action="#{userAdmin.edit(u)}" value="edit"/>
       </rich:column>
       </rich:dataTable>


      The source of the list is:

      @Name("organizationUsers")
      public class OrganizationUsers extends EntityQuery {
      
       @In
       SessionPreferences prefs;
      
       @Override
       public String getEjbql() {
       return "from SiteUser u where u.organization = #{prefs.currentOrganization}";
       }
      
       @Override
       public String getOrder() {
       return "u.lastName, u.firstName";
       }
      
      }


      And I believe things are properly configured in faces-config.xml to enable enhanced EL:

      <faces-config>
      
       <!-- Select one of the standard transaction models for the Seam application -->
      
       <lifecycle>
       <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
       </lifecycle>
      
       </faces-config>


      A null value is passed to userAdmin.edit(). The URLs behind the 'edit' links do not reference a 'DataModelSelection' like they do in the booking example.

      Any ideas?