It's not a bug for software to operate as designed. The design of JSF is such that backing bean accessors can be called multiple times during a phase.
If you don't like the way JSF works, the place to make suggestions is [EMAIL PROTECTED] No JSF implementation can go against the spec and remain compliant. You're not the first person to comment on this behavior, and you won't be the last. But the behavior can't be changed at the MyFaces project level. All we can do is recommend workarounds that others (ourselves included) use. On 10/12/05, Zhong Li <[EMAIL PROTECTED]> wrote: > It is BUG for sure. I mentioned before, it likes a real-time data, > concurrent users change data, we use a static Factory mehtod to generate > list. Also the class is used by another applications. My logic is normal, I > can't see any wrong with it. I prepare everything in list generation code, > calcuate FOOTER part, etc. > > But you guys still don't believe it is bug. I have no choice. It is your > product, I only have right to choose to use or not. > > > On 10/12/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote: > > Another possiblity would be to create a requested-based wrapping bean > > for your data bean. > > > > Have it call an initialize method before any method actions are > > executed and have it cache (if necessary) the results for this > > request. > > > > Ie, for every bean accessor, > > > > public Object getObject() { > > initializeIfNeeded(); > > return possiblyCachedResult; > > } > > > > That seems more straight-forward than reimplementing renderers. > > > > On 10/12/05, Mathias Brökelmann < [EMAIL PROTECTED]> wrote: > > > you have to call super.encodeBegin(facesContext, uiComponent) after > > > the getValue() call of course. > > > > > > 2005/10/12, Mathias Brökelmann < [EMAIL PROTECTED]>: > > > > Cool down! > > > > > > > > If you need a different behavior on rendering the datatabel and are > > > > not able to change the implementation of your bean (which is mostly > > > > the easiest one) you could write your own renderer for the datatable. > > > > Simply subclass the existing renderer from myfaces > > > > > (org.apache.myfaces.renderkit.html.ext.HtmlTableRenderer) > and > > > > implement encodeBegin(): > > > > > > > > public void encodeBegin(FacesContext facesContext, UIComponent > > > > uiComponent) throws IOException > > > > { > > > > // just getting the value of the datatable > > > > ((UIData)uiComponent).getValue(); > > > > } > > > > > > > > > > > > 2005/10/12, Zhong Li <[EMAIL PROTECTED]>: > > > > > huh huh, I never see those kind of product, it can create an misery > result. > > > > > List of dataTable isn't belong TBODY. it is at TABLE level Sir. > TABLE goes > > > > > first Sir, then HEADER, TOOTER and BODY. Also, I learned and used > computer > > > > > for 15 years, never see inner scope jump out of outter scope, like > you > > > > > define a local variable, then you access globle, what is XXXX > logical. > > > > > > > > > > > > > > > On 10/11/05, Sean Schofield <[EMAIL PROTECTED] > wrote: > > > > > > > Anyhow. you need reopen and fix the bug. > > > > > > > > > > > > Not if your bug would cause us to violate the JSF 1.1 > specification. > > > > > > See Mathia's comment earlier. The only argument that is relevant > is > > > > > > if you interpret the specification differently. We cannot change > the > > > > > > spec. > > > > > > > > > > > > sean > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Zhong Li > > > > > > > > > > WebJabber.Net > > > > > > > > > > > > -- > > > > Mathias > > > > > > > > > > > > > -- > > > Mathias > > > > > > > > > -- > Zhong Li > > WebJabber.Net