You'll be more likely to get help if you post what the particulars of
your problem are rather than telling us how you think the JSF
framework works or should work  :-)



On 2/28/07, Carsten Kaiser <[EMAIL PROTECTED]> wrote:





Hello,



I'm a newbie in JSF, therefore I need someone, who can explain to me, how
model updates can be are performed at all

when local value set remains false!



As far as I understand when a new view is rendered, all values are retrieved
from the managed bean and are written to

the response. Afterwards the state of the component tree is serialized. When
the next request comes in, the component

tree gets restored and the changed values are supposed to be populated into
the managed bean in the update model phase.



Ok, that's theory. In practise I'm facing the following problem: In
processUpdate the UIInput component checks for the

localValueSet variable. If it is not set, no model update is performed! This
variable is serialized with the component tree

and restored with the next request. So in the initial view rendering phase,
it is never set to true, since the render

(HtmlTextRenderer for example) does not call setValue on the component at
all! Thus in the applyRequestValue phase when

the state is restored, its value remain false. Only restoreState is called
on the database table, but the request values are never

populated into the data table! So the value remains false and ergo the
managed bean is never updated!



So how can I enforce, that the request values are applied?



Here are some code snippets from my jsp, managed bean and faces-config.xml:



JSP:

<%@ taglib uri="http://java.sun.com/jsf/core"; prefix="jsf-core" %>

<%@ taglib uri="http://java.sun.com/jsf/html"; prefix="jsf-html"%>

<%@ taglib uri="http://myfaces.apache.org/tomahawk";
prefix="tomahawk"%>

<%@ taglib uri="http://myfaces.apache.org/sandbox";
prefix="sandbox"%>

<%@ taglib uri="http://sourceforge.net/projects/facestrace";
prefix="trace"%>



<[EMAIL PROTECTED] file="../messages.jspf"%>



         <jsf-core:subview id="propertiesSubview">

       <sandbox:subForm id="propertiesForm">

                 <tomahawk:dataTable bgcolor="#F5F5F5"

                              var="property"

                              value="#{componentBackup.properties}"

                              border="1"

                              cellspacing="0"

                              footerClass="text12"

                              headerClass="heading2grey"

                             rules="groups"

                              rows="14"

                              forceId="true"

                              forceIdIndex="true"

                              forceIdIndexFormula="#{property.name}"

                              width="580">

                     <jsf-core:facet name="header">

                       <tomahawk:panelGroup colspan="2">

                             <tomahawk:outputText
value="#{generation['klartextGenerator_tree_label']}"
rendered="#{componentBackup.identifier == 'klartextGenerator'}"/>

                             <tomahawk:outputText
value="#{generation['contextProvider_tree_label']}"
rendered="#{componentBackup.identifier == 'contextProvider'}"/>

                        </tomahawk:panelGroup>

                      </jsf-core:facet>

                      <jsf-html:column>

                 <tomahawk:outputText styleClass="text12"
value="#{property.displayName}  "/>

                      </jsf-html:column>

                      <jsf-html:column>

                        <tomahawk:inputText rendered="#{property.name ==
'no'}"

                                     id="_no"

                                     title="#{property.description}"

                                     required="#{property.mandatory}"

                                     readonly="#{!property.modifiable}"

                                     forceId="true"

                                     forceIdIndex="true"

                                     value="#{componentBackup.values['no']}"

                                     maxlength="5"

                                     size="5"/>

                        <tomahawk:inputTextarea rendered="#{property.name ==
'title'}"

                                     id="_title"

                                     title="#{property.description}"

                                     required="#{property.mandatory}"

                                     readonly="#{!property.modifiable}"

                                     forceId="true"

                                     forceIdIndex="true"


value="#{componentBackup.values['title']}"

                                     converter="CDATA"

                                     cols="40"

                                     rows="2"

                                     wrap="off"/>

                        <tomahawk:inputTextarea rendered="#{property.name ==
'greeting'}"

                                     id="_greeting"

                                     title="#{property.description}"

                                     required="#{property.mandatory}"

                                     readonly="#{!property.modifiable}"

                                     forceId="true"

                                     forceIdIndex="true"


value="#{componentBackup.values['greeting']}"

                                     converter="CDATA"

                                     cols="40"

                                     rows="4"

                                     wrap="off"/>

                 <tomahawk:inputTextarea rendered="#{property.name ==
'text'}"

                                     id="_text"

                                     title="#{property.description}"

                                     required="#{property.mandatory}"

                                     readonly="#{!property.modifiable}"

                                     forceId="true"

                                     forceIdIndex="true"


value="#{componentBackup.values['text']}"

                                     converter="CDATA"

                                     cols="40"

                                     rows="2"

                                     wrap="off"/>

                        <tomahawk:inputTextarea rendered="#{property.name ==
'teaser'}"

                                     id="_teaser"

                                     title="#{property.description}"

                                     required="#{property.mandatory}"

                                     readonly="#{!property.modifiable}"

                                     forceId="true"

                                     forceIdIndex="true"


value="#{componentBackup.values['teaser']}"

                                     converter="CDATA"

                                     cols="40"

                                     rows="2"

                                     wrap="off"/>

                        <tomahawk:inputTextarea rendered="#{property.name ==
'securityResource'}"

                                     id="_securityResource"

                                     title="#{property.description}"

                  ...

[Message clipped]

Reply via email to