Hi Matze, for 1 - look at this:
http://myfaces.apache.org/orchestra/myfaces-orchestra-core/component-bindings.html for 2 - there is nothing definitive there (JSF 2.0 has not yet been released), but that's my opinion which will probably proof to be true ;) regards, Martin On 10/24/07, Matthias Wessendorf <[EMAIL PROTECTED]> wrote: > are some docs on that out there ? > > On 10/24/07, Martin Marinschek <[EMAIL PROTECTED]> wrote: > > Hi Mike, Michael, > > > > you should not use component-bindings with session-scoped beans - if > > you take a look at Orchestra, you can however find a way how to embed > > a request-scoped bean into a session-scoped bean, and put your > > component-bindings there. > > > > Looking forward to JSF 2.0, I would not use component bindings if you > > can help it. In JSF 2.0, much of the state will be stored in the > > template, not in the component-tree - so you will have better > > performance if you keep to the template as much as possible. > > > > regards, > > > > Martin > > > > > > > > On 10/22/07, Mike Kienenberger <[EMAIL PROTECTED]> wrote: > > > Not really. I have always avoided both session scoped beans and > > > component building via java code (except years ago before I discovered > > > facelets). > > > > > > I know others have done it. > > > > > > The only possibly-helpful tips I can remember are 1) do the component > > > creation in the getter not the setter, and always manually set an id. > > > > > > The more I think about it, the more I think I'll try the c:forEach and > > > c:if technique (with facelets) first. > > > > > > > > > On 10/22/07, Michael Heinen <[EMAIL PROTECTED]> wrote: > > > > Regarding your approach with the component bindings: > > > > I have not used them at all and I am a little bit afraid of them. > > > > In this list I read multiple times that they are some kind of "evil" > ;-) > > > > specially in combination with session scoped beans. > > > > > > > > Btw I don't like my approach with the rendered flags but this allows > the > > > > html designers to do easy modifications which they can't do if I set > > > > everything programmatically in components. > > > > But the component binding approach should be more performant of > course. > > > > > > > > Do you have any good tips regarding component bindings in combination > > > > with session scoped beans ? > > > > > > > > Michael > > > > > > > > -----Original Message----- > > > > From: Mike Kienenberger [mailto:[EMAIL PROTECTED] > > > > Sent: Montag, 22. Oktober 2007 17:47 > > > > To: MyFaces Discussion > > > > Subject: Re: optional validator - missing rendered attribute > > > > > > > > For what it's worth, the optional validation discussions of the past > > > > dealt with wrapping each validator in an "optional validator" > > > > component, and then globally traversing the component tree. This > > > > approach works very poorly, so I abandoned it in favor of s:subForm. > > > > That will not help your situation, however. > > > > > > > > All of the tomahawk validators inherit from ValidatorBase. You could > > > > add an optional attribute to that class, but you'd still have to > > > > change each validator to evaluate it. This also won't help for the > > > > non-ValidatorBase validators. > > > > > > > > I will probably be in a similar situation down the road. I suspect > > > > that the "easiest" solution will be to bind a component (like a > > > > panelGroup) to a backing bean and dynamically construct the dynamic > > > > component tree from java code rather than trying to do it from page > > > > code with rendered (and active) attributes. Although with facelets, > > > > using c:forEach and c:if might work too. > > > > > > > > On 10/22/07, Michael Heinen <[EMAIL PROTECTED]> wrote: > > > > > Hi Simon, > > > > > > > > > > maybe I did not express myself or the problem well. > > > > > I didn't want to go on confrontation course, sorry if you got that > > > > impression. > > > > > Quite the contrary I am happy about feedback, workarounds and > > > > suggestions. That's the reason for my postings. > > > > > > > > > > I just was astonished that all components have the rendered > attribute > > > > but validators not. > > > > > Now I know that there is not any existing feature that I missed and > > > > use various input components with their own validators. > > > > > > > > > > But a disadvantage of this is from my point of view that I have also > > > > to use multiple label tags (or EL expressions for the for-attribute > > > > because I have then various input fields with other client ids used in > > > > the for-attribute of the label tag). > > > > > And ajax updates will be a little bit more complex because I have to > > > > update a container tag rather than directly a field. > > > > > > > > > > Michael > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: Simon Kitching [mailto:[EMAIL PROTECTED] > > > > > Sent: Montag, 22. Oktober 2007 16:08 > > > > > To: MyFaces Discussion > > > > > Cc: Michael Heinen > > > > > Subject: RE: optional validator - missing rendered attribute > > > > > > > > > > Hi Michael, > > > > > > > > > > ---- Michael Heinen <[EMAIL PROTECTED]> schrieb: > > > > > > Here is a sample: > > > > > > > > > > > > <t:dataList id="myFields" > > > > > > value="#{FieldConfigurationController.myFields}" > > > > > > var="entry"> > > > > > > <t:div rendered="#{entry.type=='inputText'}"> > > > > > > <t:inputText id="s_inputText" > > > > > > > > > > value="#{MyController.search.attributes[entry.name]}" > > > > > > ... > > > > > > > <my:validateCompareTo active="#{entry.contentType=='range' && > > > > entry.name='to'}" > > > > > > for="rangeFrom" > > > > > > operator=">=" > > > > > > .../> > > > > > > <my:validateEmail active="#{entry.contentType=='email'}" ...> > > > > > > </t:inputText> > > > > > > ... > > > > > > </t:div> > > > > > > <t:div rendered="#{entry.type=='selectOne'}"> > > > > > > ... > > > > > > </t:div> > > > > > > <t:dataList> > > > > > > > > > > > > I loop over a list which contains the fields that should be > > > > rendered. > > > > > > These fields are not known at compile time. The fields are created > > > > dynamically based on a database or other repositories. > > > > > > The model is also completely dynamic. It is represented by maps > and > > > > accessed by field names. > > > > > > > > > > > > The above my:validateCompareTo should only be attached to fields > of > > > > contentType range and should validate the upper against with the lower > > > > value. > > > > > > (e.g. see > http://myfaces.apache.org/sandbox/validateCompareTo.html > > > > > > This validator is attached to the bottom-most component to > > > > insure that the foreign component's value has been converted and > > > > validated first) > > > > > > > > > > > > my:validateEmail should be attached to fields of contentType email > > > > only. > > > > > > > > > > > > I don't want to use multiple input fields if they are rendered all > > > > the same way. > > > > > > Do you now see the difficulty ? > > > > > > > > > > Yes, I see. > > > > > > > > > > However I think this is a fairly unusual situation. I don't believe > > > > that handling validation for such dynamically-created and > > > > dynamically-typed input components really qualifies as "a common > > > > use-case". > > > > > > > > > > However can't this be solved simply by moving the input component > > > > inside the type-test? IE rather than: > > > > > for each field to render > > > > > add an inputText, always rendered > > > > > attach validator1, active if type=1 > > > > > attach validator2, active if type=2 > > > > > do: > > > > > for each field to render > > > > > add inputText rendered if type=1, with validator1 > > > > > add inputText rendered if type=2, with validator2 > > > > > > > > > > Yes, this does mean repeating the input-component for each type. But > > > > that gives the opportunity to change the actual input component type > > > > based on what the field-type is. Ok, *you* might happen to always want > > > > an input-text for all types, but I think this is a more general > > > > solution, and not too inconvenient in your case. > > > > > > > > > > In terms of memory usage and performance, the above are about equal. > > > > Either one component exists, with N validators (N+1 objects), or N > > > > components exist each with 1 validator (2N objects). Given that N is > > > > fairly small, this isn't significant IMO. > > > > > > > > > > That doesn't mean there is anything wrong with your "active" > solution, > > > > but I don't personally see any need to amend the spec to support this > > > > use-case when it is (a) pretty rare, and (b) already has a reasonable > > > > solution. That's just my view of course. > > > > > > > > > > By the way, open-source projects are always happy to get > > > > suggestions/feedback (or should be); it's how projects get better. > > > > However when posting a message, please take care not to imply that the > > > > people in charge of the projects are fools for not solving the problem > > > > the way you think it should be solved. This email thread was perhaps a > > > > bit more confrontational than necessary.. > > > > > > > > > > Regards, > > > > > > > > > > Simon > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > http://www.irian.at > > > > Your JSF powerhouse - > > JSF Consulting, Development and > > Courses in English and German > > > > Professional Support for Apache MyFaces > > > > > -- > Matthias Wessendorf > > further stuff: > blog: http://matthiaswessendorf.wordpress.com/ > mail: matzew-at-apache-dot-org > -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces