https://issues.apache.org/jira/browse/TRINIDAD-1223
On Wed, Sep 10, 2008 at 11:03 AM, Andrew Robinson <[EMAIL PROTECTED]> wrote: > I'll create the bug... > > On Wed, Sep 10, 2008 at 10:41 AM, Andrew Robinson > <[EMAIL PROTECTED]> wrote: >> Okay, I know the problem: >> >> The Subform allows the decode phase of all the children, regardless of >> what was clicked on. If an event was queued inside of the subform, but >> not during the apply phase, the form is considered "submitted". Only >> the submitted form will be validated & updated. >> >> Now, UIXInput (and UIInput) render the submitted value as the current >> value if it is set. Therefore: >> >> 1) subform 1 is submitted >> 2) subform 1 & 2 are decoded, storing the submitted value ("" for the >> inputText in the 2nd subform) >> 3) subform 1 is validated >> 4) subform 1 is updated >> 5) render subform 1, inputText renders the "value" attribute >> 6) render subform 2, inputText renders the "submittedValue" attribute >> (blank string - "") >> >> So to me this looks like a design flaw of the subform component. IMO, >> I would file a bug. Fixing it based on looking at the current design >> could be a pain in the rear. I wonder how the Tomahawk subform handles >> the same situation? >> >> As a workaround, you would have to find all components under >> non-submitted subforms that implement EditableValueHolder and set >> their submitted value to null. >> >> -Andrew >> >> On Wed, Sep 10, 2008 at 8:03 AM, Walter Mourão <[EMAIL PROTECTED]> wrote: >>> Actually it looks like the issue isn't related with PPR. I just tested >>> without PPR (see code below) and had the same result: >>> >>> <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?> >>> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0" >>> xmlns:f="http://java.sun.com/jsf/core" >>> xmlns:tr="http://myfaces.apache.org/trinidad" > >>> <jsp:directive.page contentType="text/html;charset=utf-8"/> >>> <f:view> >>> <tr:document title="Apache Trinidad Blank Demo"> >>> <tr:form> >>> <tr:subform id="sub1"> >>> <tr:panelPage> >>> <tr:outputText value="#{helloWorldBacking.name}" /> >>> <tr:inputText label="Your name" id="input1" >>> value="#{helloWorldBacking.name}" required="true"/> >>> <tr:commandButton id="button1" text="press me" >>> action="#{helloWorldBacking.send}"/> >>> </tr:panelPage> >>> </tr:subform> >>> <tr:subform id="sub2"> >>> <tr:panelPage> >>> <tr:outputText value="#{helloWorldBacking.name}" /> >>> <tr:inputText label="Your name" id="input1" >>> value="#{helloWorldBacking.name}" required="true"/> >>> <tr:commandButton id="button1" text="press me" >>> action="#{helloWorldBacking.send}"/> >>> </tr:panelPage> >>> </tr:subform> >>> </tr:form> >>> </tr:document> >>> </f:view> >>> </jsp:root> >>> >>> >>> Walter Mourão >>> http://waltermourao.com.br >>> http://arcadian.com.br >>> http://oriens.com.br >>> >>> >>> >>> On Wed, Sep 10, 2008 at 10:13 AM, Andrew Robinson >>> <[EMAIL PROTECTED]> wrote: >>>> >>>> Looks like you need to add partialTriggers to the components you want >>>> to update / refresh >>>> >>>> -A >>>> >>>> On Wed, Sep 10, 2008 at 4:50 AM, Walter Mourão <[EMAIL PROTECTED]> >>>> wrote: >>>> > Sorry the bump, but I'm in a dead end... Does anybody know a workaround >>>> > ? >>>> > >>>> > >>>> > Walter Mourão >>>> > http://waltermourao.com.br >>>> > http://arcadian.com.br >>>> > http://oriens.com.br >>>> > >>>> > >>>> > >>>> > On Sun, Sep 7, 2008 at 8:22 AM, Walter Mourão <[EMAIL PROTECTED]> >>>> > wrote: >>>> >> >>>> >> Hi folks, >>>> >> I'm dealing with a strange behavior when using subforms and I >>>> >> reproduced >>>> >> it using the trinidad-blank example (from 1.0.9, but I found the >>>> >> problem >>>> >> first with 1.0.5). >>>> >> When executing an action from subform 1, only the inputs of the subform >>>> >> 1 >>>> >> are refreshed and show the new value. Besides that, when I added a >>>> >> tr:outputText to the subform, pointing to the same backing bean >>>> >> property, it >>>> >> shows the new value, so the tr:inputText and tr:outputText (of the >>>> >> subform >>>> >> 2) shows differente values... >>>> >> >>>> >> To reproduce using the trinidad-blank example: >>>> >> 1 - change HelloWorldBacking.send to: >>>> >> public String send() >>>> >> { >>>> >> _name = _name.toUpperCase(); >>>> >> >>>> >> return null; >>>> >> } >>>> >> >>>> >> 2 - add the file two_subforms.jspx with the content: >>>> >> <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?> >>>> >> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0" >>>> >> xmlns:f="http://java.sun.com/jsf/core" >>>> >> xmlns:tr="http://myfaces.apache.org/trinidad" > >>>> >> <jsp:directive.page contentType="text/html;charset=utf-8"/> >>>> >> <f:view> >>>> >> <tr:document title="Apache Trinidad Blank Demo"> >>>> >> <tr:form partialTriggers="sub1:button1 sub2:button1"> >>>> >> <tr:subform id="sub1"> >>>> >> <tr:panelPage> >>>> >> <tr:outputText value="#{helloWorldBacking.name}" /> >>>> >> <tr:inputText label="Your name" id="input1" >>>> >> value="#{helloWorldBacking.name}" required="true"/> >>>> >> <tr:commandButton id="button1" text="press me" >>>> >> action="#{helloWorldBacking.send}" partialSubmit="true"/> >>>> >> </tr:panelPage> >>>> >> </tr:subform> >>>> >> <tr:subform id="sub2"> >>>> >> <tr:panelPage> >>>> >> <tr:outputText value="#{helloWorldBacking.name}" /> >>>> >> <tr:inputText label="Your name" id="input1" >>>> >> value="#{helloWorldBacking.name}" required="true"/> >>>> >> <tr:commandButton id="button1" text="press me" >>>> >> action="#{helloWorldBacking.send}" partialSubmit="true"/> >>>> >> </tr:panelPage> >>>> >> </tr:subform> >>>> >> </tr:form> >>>> >> </tr:document> >>>> >> </f:view> >>>> >> </jsp:root> >>>> >> >>>> >> 3 - start the application, go to /faces/two_subforms.jspx, add a text >>>> >> in >>>> >> one of the inputs and click "press me". >>>> >> >>>> >> This behavior happens with partialSubmit="false" too. >>>> >> >>>> >> Please confirm if it is a bug (and I file a jira issue) and if it has >>>> >> an >>>> >> workaround. >>>> >> >>>> >> Thanks in advance, >>>> >> >>>> >> >>>> >> Walter Mourão >>>> >> http://waltermourao.com.br >>>> >> http://arcadian.com.br >>>> >> http://oriens.com.br >>>> >> >>>> > >>>> > >>> >>> >> >