Hi,

custom lifecycles are possible in jsf1.1, tobago has a custom
lifecycle which integrates the ajax (ppr) into the normal jsf
lifcycle. in case of ajax the process* methods are only run on the
partially requested components.


Regards,
    Volker



2008/3/27, Ernst Fastl <[EMAIL PROTECTED]>:
> This seems to be addressing the more general JSF Problem "immediate is
>  not enough"
>  which the subForm tries to solve. I personally would dream of instead
>  of just required=true|false
>  requiredFor="buttonId1,buttonId2,..." but that might just be an IDEA
>  for JSF 2.0.
>
>  The reason PPR uses a PhaseListener is that it was started and should
>  still work in JSF 1.1.
>  As far as I remember there were no custom lifecycles in 1.1.
>
>  The PhaseListener currently only kicks in before Render Response which
>  would be to late
>  for a feature like that.
>
>  I think the approach with updateComponentIds="" could be implemented in the
>  PhaseListener as well if it also checks
>  after processDecodes for some sort of "partialUpdate" parameter and
>  then manually
>  invokes validation and conversion on the targeted components - and afterwards
>  just does, what it now does before render response
>
>  just my 2 cents
>
>
>  Ernst
>
>
>  On Thu, Mar 27, 2008 at 8:08 PM, Thomas Spiegl <[EMAIL PROTECTED]> wrote:
>  > ok, now I got it - nice approach +1
>  >
>  >
>  >
>
> >  On Thu, Mar 27, 2008 at 2:54 PM, Mari Ivankovits <[EMAIL PROTECTED]> wrote:
>  >  > Hi!
>  >  >
>  >  > > The pprSubmit is something like a generic autoSubmit feature for
>  >  >  > command components (see also autoSubmit attribute in trinidad).
>  >  >  >
>  >  >  ? pprSubmit does nothing else than rendering the javascript to hook on
>  >  >  the new components too, no?
>  >  >  I do not understand what you mean with autoSubmit here.
>  >  >
>  >  >
>  >  >  > Adding this feature to pprSubmit would somehow break the existing ppr
>  >  >  > behavior, where the triggered components register themselves for
>  >  >  > updates.
>  >  >  >
>  >  >  I do not change the existing ppr behavior, just how the data sent by it
>  >  >  will be processed on the server. If this will break the ppr philosophy
>  >  >  then I think the ppr is broken at all, isn't it?
>  >  >
>  >  >  Just to be sure everyone understand what I would like to have.
>  >  >  The interesting part of this view is:
>  >  >  * a single form
>  >  >  * a required customer name
>  >  >  * a country/zip pair which needs to be available in the model during 
> ppr
>  >  >  * a city which will be computed out of the country/zip data during ppr
>  >  >
>  >  >  The problem is, that due to the required customer the ppr will not work
>  >  >  due to the validation error which will happen.
>  >  >
>  >  >  <h:form>
>  >  >     <s:pprPanelGroup partialTrigger="lookupCity">
>  >  >         <t:panelGrid columns="2">
>  >  >             <h:outputText value="Customer Name" />
>  >  >             <h:inputText id="name" value="#{bean.name}" required="true" 
> />
>  >  >
>  >  >             <h:outputText value="Country" />
>  >  >             <h:selectOneMenu id="country" value="#{bean.country}" />
>  >  >
>  >  >             <h:outputText value="Zip" />
>  >  >             <h:inputText id="zip" value="#{bean.zip}" required="true">
>  >  >                 <s:submitOnEvent event="change" for="lookupCity" />
>  >  >             </h:inputText>
>  >  >
>  >  >             <h:outputText value="City" />
>  >  >             <h:panelGroup>
>  >  >                 <h:outputText id="cityAuto" value="#{bean.cityAuto}"
>  >  >  renderer="#{bean.cityAuto}"/>
>  >  >                 <h:commandButton action="#{bean.overrideCity}"
>  >  >  renderer="#{bean.cityAuto}"/>
>  >  >                 <h:inputText id="cityMan" value="#{bean.cityMan}"
>  >  >  renderer="#{!bean.cityAuto}" required="true" />
>  >  >                 <h:commandButton action="#{bean.resetCityToAutomatic}"
>  >  >  renderer="#{!bean.cityAuto}"/>
>  >  >             </h:panelGroup>
>  >  >
>  >  >         </t:panelGrid>
>  >  >
>  >  >     </s:pprPanelGroup>
>  >  >
>  >  >  <h:commandButton id="lookupCity" action="#{bean.lookupCity}" 
> style="hidden">
>  >  >     <s:pprSubmit processComponentIds="country,zip" />
>  >  >  </h:commandButton>
>  >  >
>  >  >  <h:commandButton action="#{bean.save}" />
>  >  >  </h:form>
>  >  >
>  >  >  The complicated thing is, that the pprSubmit enhancement would require 
> a
>  >  >  custom LifeCycle for PPR requests (why is it a PhaseListener by now?)
>  >  >
>  >  >
>  >  >  Another possibility to fix that would be to enhance subForm to nicely
>  >  >  work in a nested mode so that you can have a subForm with multiple
>  >  >  subForms within and a logical name (new attribute) to group the 
> subForms
>  >  >  together.
>  >  >  Then ppr as it is today might work then, the resulting view wouldn't
>  >  >  look nice though.
>  >  >
>  >  >  Or, using RichFaces with its ajax implementation which might allow this
>  >  >  already ... adding this library for just one function seems weird to me
>  >  >  though :-(
>  >  >
>  >  >  Ciao,
>  >  >  Mario
>  >  >
>  >  >
>  >
>  >
>  >
>  >  --
>  >
>  >
>  > http://www.irian.at
>  >
>  >  Your JSF powerhouse -
>  >  JSF Consulting, Development and
>  >  Courses in English and German
>  >
>  >  Professional Support for Apache MyFaces
>  >
>


-- 
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