0 Replies Latest reply on Mar 5, 2007 6:02 AM by Marco Huber

    How does the DataModel passes the data to the next page?

    Marco Huber Newbie

      Hi all,

      I try to understand the Issue-Tracker example, and hope that someone could explain me a little bit more about the page and object flow.

      Esspecially I'm interested how the DataModel / dataTable works, because I need this in an application

      Therefore I took the ProjectFinderBean, ProjectSelectorBean and ProjectEditorBean and extended them with some debug messages.

      So I could figured out the dependencies between this 3 classes, if I click on one of the "View"-button:

      Caller: ProjectFinder #1
      - (Create)
      JSF(@Factory) -------------> findProjects
       ProjectSelector #1
      JSF ----------------------------------------------> (Create) ProjectEditor #1
       @In ---------------------------> (Create)
      JSF ----------------------------------------------> getButtonLabl (x-times)
      JSF ----------------------------------------------> isCreateEnabled (x-times)
      EndOfRequest (1) destroy
      EndOfRequest (2) getIssueList
      EndOfRequest (3) destroy
       ProjectEditor #2
      "View"-button (4) @In --------------------------> (Create)
       ProjectFinder #2
       (5) (Create) <---------------- @In
       isCreateEnabled (x-times)
       (6) getSelection <------------
       ------------------------------> setInstance
      JSF getIssueList

      The number in the brackets are the points which are not really clear to me.

      So here (maybe some newbie) questions:

      (1) and (3): Does the tranisient keyword destroies the instances or the end of the request? Or both?
      (2): Why is getIssueList() is called after destorying the ProjectEditorBean?
      (4) and (5): Why is the @In is called after clicking on the "View"-button? Because of (1) and (3) ?
      (6): How does the new instance of the ProjectFinderBean know which list entry was selected? Does this the PAGE-Scope on the @DataModel?

      And one last question:
      Why do I need session beans to pass the selected entry to another bean? Or is there a solution to do that with 2 beans.

      Thank you in advance