I'm trying to implement a simple table for selecting a table row and editing
the selected row in a form in a different way than I did it before. Table
and form are rendered through the same JSP (see below) such that no
navigation rules are required. 
This does not behave as expected-> when a row is selected, its data is shown
in the form. After returning back to the table and selecting a different
row, the form shows the same row data as before BUT NOT the data for the new
selection.

So I assume there is a problem with the component state??? I have modified
the implementation such that the form is implemented by a different JSP and
a navigation rule navigates to this form JSP as #{listController.select} is
invoked! ->> It works!

Background info for the used managed beans: #{listController.select} is
responsible for getting the selected row object and injecting it into
#{formController.entity}. The listController is a request scope bean whereas
the formController is a session scope bean.

<tr:form>
        <tr:table value="#{listController.model}" var="object"
                rendered="#{formController.entity==null}">
                <tr:column>
                        <tr:commandLink action="#{listController.select}">
                                <tr:outputText value="#{object.type}" />
                        </tr:commandLink>
                </tr:column>
        </tr:table>
        <tr:panelFormLayout rendered="#{formController.entity!=null}">
                <tr:outputLabel for="typeInput" value="Type" />
                <tr:inputText id="typeInput" 
value="#{formController.entity.type}" />
                <tr:commandButton text="OK" action="#{formController.store}" 
id="okButton"
/>
                <tr:commandButton text="CANCEL" 
action="#{formController.cancel}"
immediate="true" />
        </tr:panelFormLayout>
</tr:form>

listController.select is implemented like shown below

        public String select() {
                setSelectedEntity((T) getDataModel().getRowData());// this 
injects the
selected object into the form controller
                return OUTCOME_SELECT;
        }


The JSPs have been implemented using Trinidad, my assumption is that this is
not a Trinidad issue but rather a general JSF life cycle issue!

-----
http://www.martinahrer.at/blog http://www.martinahrer.at/blog 
-- 
View this message in context: 
http://www.nabble.com/Is-this-a-problem-that-stems-from-JSF-life-cycle-tp14530054p14530054.html
Sent from the MyFaces - Users mailing list archive at Nabble.com.

Reply via email to