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]

