2 Replies Latest reply on Dec 10, 2007 5:46 AM by bernix

    Outject doesn't work

    bernix


      I have an UserListBean, a userList.xhtml page and a userView.xhtml page,and when I try to outject the DataModelSelection,from the list page to the view page,but it doesn't work:

      UserListBean.java

      @Stateful
      @Scope(SEESION)
      @Name("userList")
      public class UserListBean implememts UserList {
       @DataModel
       private List<User> users;
      
       @DataModelSelection
       @Out (required = false)
       private User user;
      
       @Factory
       public void getUsers () {
       ...
       }
      }


      userList.xhtml
      <rich:dataTable var="usr" value="#{users}">
       <h:column>
       <f:facet name="header">User Name</f:facet>
       #{usr.username}
       </h:column>
       ...
       <h:column>
       <f:facet name="header">View</f:facet>
       <s:link id="viewUser" value="View" action="/userView.xhtml"/>
       </h:column>
      </rich:dataTable>


      userView.xhtml
      <rich:panel>
       <s:decorate template="/layout/display.xhtml">
       <ui:define name="label">User Name:</ui:define>
       #{user.username}
       </s:decorate>
       ...
      </rich:panel>


      everything seems ok,but when I click "View" from the list page to view page,the view page doesn't get the "user",I chek the log,it says that the component user is not found.....means it didn't outject correctly...
      I know may be this kind of problem has been discussed in the forum before,but I just can not find it...
      I suppose that when I select the user from the list page,the DataModelSelection does inject to "userList",but it didn't outject...
      when will the outject will be processed?at the very begin when the component create?
      in many scenario,the variable is null when the component is created,but I want to outject that variable when it gets a value....

      any comments will be greatful