Hi Volker,

I think the question is not if it was submitted or not but if all the
visible references (inputText, outputText or everything else) of a property
instance show its current value when the view is rendered.

Regards,

Walter Mourão
http://waltermourao.com.br
http://arcadian.com.br
http://oriens.com.br



On Wed, Sep 10, 2008 at 2:12 PM, Volker Weber <[EMAIL PROTECTED]> wrote:

> Hi,
>
> why would you expect a not submited subform should loose changes made
> on the client (the submitted value)?
>
> This is exact the behavior i would expect. And BTW how the tobago subform
> works.
>
>
> Regards,
>    Volker
>
> 2008/9/10 Andrew Robinson <[EMAIL PROTECTED]>:
> > 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
> >>> >>
> >>> >
> >>> >
> >>
> >>
> >
>
>
>
> --
> inexso - information exchange solutions GmbH
> Bismarckstraße 13 | 26122 Oldenburg
> Tel.: +49 441 4082 356 |
> FAX: +49 441 4082 355 | www.inexso.de
>

Reply via email to