You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Mathias Broekelmann (JIRA)" <my...@incubator.apache.org> on 2005/10/11 20:47:05 UTC
[jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
[ http://issues.apache.org/jira/browse/MYFACES-694?page=all ]
Mathias Broekelmann closed MYFACES-694:
---------------------------------------
Resolution: Invalid
HTML 4.01 spec says:
TFOOT must appear before TBODY within a TABLE definition so that user agents can render the foot before receiving all of the (potentially numerous) rows of data.
Which is the reason why myfaces renders the footer before the body.
> t:dataTable bind calculate order error
> ---------------------------------------
>
> Key: MYFACES-694
> URL: http://issues.apache.org/jira/browse/MYFACES-694
> Project: MyFaces
> Type: Bug
> Components: Tomahawk
> Versions: Nightly
> Environment: Tomcat 5.0.28, nightly build 10/10/2005
> Reporter: Zhong Li
> Priority: Critical
>
> I have a list used in a datatable
> <t:dataTable value="#{playlistFactory.currentUnitMPOSPlayList}" var="playlistItem">
> ....
> <h:column>
> <f:facet name="header">
> <h:outputText value="#{messages['dealer_admin_length']}"/>
> </f:facet>
> <h:outputText value="#{playlistItem.length}"/>
> <f:facet name="footer">
> <h:outputText value="#{playlistFactory.totalLength}"/>
> </f:facet>
> </h:column>
> ....
> </t:dataTable>
> playlistFactory.totalLength called before playlistFactory.currentUnitMPOSPlayList called. So I got totalLength always 0, playlistFactory.totalLengtht should be called after playlistFactory.currentUnitMPOSPlayList
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Mike Kienenberger <mk...@gmail.com>.
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
jsr-252-comments@jcp.org. 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 <we...@gmail.com> 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 <mk...@gmail.com> 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 < mbroekelmann@googlemail.com> wrote:
> > > you have to call super.encodeBegin(facesContext, uiComponent) after
> > > the getValue() call of course.
> > >
> > > 2005/10/12, Mathias Brökelmann < mbroekelmann@googlemail.com>:
> > > > 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 <we...@gmail.com>:
> > > > > 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 <sean.schofield@gmail.com > 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
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Zhong Li <we...@gmail.com>.
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 <mk...@gmail.com> 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 <mb...@googlemail.com> wrote:
> > you have to call super.encodeBegin(facesContext, uiComponent) after
> > the getValue() call of course.
> >
> > 2005/10/12, Mathias Brökelmann <mb...@googlemail.com>:
> > > 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 <we...@gmail.com>:
> > > > 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 <se...@gmail.com> wrote:
> > > > > > Anyhow. you need reopen and fix the bug.
> > > > >
> > > > > Not if your bug would cause us to violate the JSF 1.1specification.
> > > > > 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
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Mike Kienenberger <mk...@gmail.com>.
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 <mb...@googlemail.com> wrote:
> you have to call super.encodeBegin(facesContext, uiComponent) after
> the getValue() call of course.
>
> 2005/10/12, Mathias Brökelmann <mb...@googlemail.com>:
> > 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 <we...@gmail.com>:
> > > 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 <se...@gmail.com> 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
>
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Mathias Brökelmann <mb...@googlemail.com>.
you have to call super.encodeBegin(facesContext, uiComponent) after
the getValue() call of course.
2005/10/12, Mathias Brökelmann <mb...@googlemail.com>:
> 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 <we...@gmail.com>:
> > 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 <se...@gmail.com> 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
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Mathias Brökelmann <mb...@googlemail.com>.
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 <we...@gmail.com>:
> 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 <se...@gmail.com> 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
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Adam Winer <aw...@gmail.com>.
Sean, Volker, and Mathias are all correct (not that any of you need a fourth
confirmation!)
There is no guaranteed order of execution required for the expressions
listed, and it is a very poor implementation of a bean indeed that relies on
its order of execution to return proper results.
Adam Winer
JSF EG member
On 10/11/05, Zhong Li <we...@gmail.com> wrote:
>
> 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 <se...@gmail.com> 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
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Zhong Li <we...@gmail.com>.
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 <se...@gmail.com> 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
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Sean Schofield <se...@gmail.com>.
> 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
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Zhong Li <we...@gmail.com>.
Thanks for arguing on this. if I put renderedIfEmpty = "false", it calculate
playlistFactory.currentUnitMPOSPlayList fist, then call totalLength as
expected.
Anyhow. you need reopen and fix the bug.
On 10/11/05, Volker Weber <us...@weber-oldenburg.de> wrote:
>
> Did this "#{playlistFactory.currentUnitMPOSPlayList.size<10}" work ?
>
> There is no getSize() in java.util.List.
>
>
> But if: yes in this case playlistFactory.currentUnitMPOSPlayList should
> called before any of the column values.
> And i'm shure it is.
>
> Zhong Li wrote:
> > example if renderend =
> > #{playlistFactory.currentUnitMPOSPlayList.size<10}. How do you user
> > can't have those kind of requirements, myfaces is tools, I can do it as
> > I like.
> >
> > On 10/11/05, *Zhong Li* <webjabber@gmail.com
> > <ma...@gmail.com>> wrote:
> >
> > I know. But this one is live data, concurrent users use it. I
> > prepare all data used in method
> > playlistFactory.currentUnitMPOSPlayList, it is in Factory, called
> > static method. Anyway it is wrong you called method in column before
> > dataTable list. I am 100% sure, it is wrong.
> >
> >
> >
> >
> >
> > On 10/11/05, *Volker Weber* <users.myfaces@weber-oldenburg.de
> > <ma...@weber-oldenburg.de>> wrote:
> >
> > Hi,
> >
> > i think you have to prepare the list, maybe, if you can't do
> > this in the
> > application phase, you can use a expired date to decide
> > recreating of
> > the list?
> >
> > I don't know how this i done in towmahawk, but in tobago the
> > getter of
> > the UIcomponents valuebindings are somtimes called multiple
> > times per
> > render circle.
> >
> >
> > Zhong Li wrote:
> >> Thanks. I can't prepare it first. it is dynamic list, always need
> >> calculate when use refresh page. I believe everything in dataTable
> >> should be called after list created, it is normal sense.
> >>
> >>
> >>
> >> On 10/11/05, *Volker Weber* < users.myfaces@weber-oldenburg.de
> > <ma...@weber-oldenburg.de>
> >> <mailto: users.myfaces@weber-oldenburg.de
> > <ma...@weber-oldenburg.de>>> wrote:
> >>
> >> Hi,
> >>
> >> in my oppinion a bean getter shouldn't create a value, just
> > fetch it.
> >>
> >> if you use playlistFactory.currentUnitMPOSPlayList to
> > create and return
> >> the List, you should ensure that all other related getter
> > also create
> >> the list if the list isn't initialized before.
> >>
> >> Generally there is no order defined to call any getter in
> > jsf context.
> >>
> >> Bye
> >>
> >> Zhong Li wrote:
> >> > I totally disagreed.
> >> >
> >> >
> >> > <TABLE>
> >> > <THEAD>
> >> > <TR> /...header information.../
> >> > </THEAD>
> >> > <TFOOT>
> >> > <TR> /...footer information.../
> >> > </TFOOT>
> >> > <TBODY>
> >> > <TR>
> >> > /...first row of block one data.../
> >> > <TR> /...second row of block one data.../
> >> > </TBODY>
> >> > <TBODY>
> >> > <TR> /...first row of block two data.../
> >> > <TR>
> >> > /...second row of block two data.../
> >> > <TR> /...third row of block two data.../
> >> > </TBODY>
> >> > </TABLE>
> >> >
> >> > playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
> >> > playlistItem.length is in <TBODY>
> >> > playlistFactory.totalLength is in <TFOOT>
> >> >
> >> > Anyway you have to call
> > playlistFactory.currentUnitMPOSPlayList first,
> >> > it is table level!!!!
> >> >
> >> > How do you explain property "renderedIfEmpty", you still call
> >> > playlistFactory.totalLength first then check if it is
> > empty or not!!!!
> >> >
> >> >
> >> >
> >> > On 10/11/05, *Mathias Broekelmann (JIRA)*
> >> > <myfaces-dev@incubator.apache.org
> > <ma...@incubator.apache.org>
> >> <mailto: myfaces-dev@incubator.apache.org
> > <ma...@incubator.apache.org>>
> >> > <mailto:myfaces-dev@incubator.apache.org
> > <ma...@incubator.apache.org>
> >> <mailto: myfaces-dev@incubator.apache.org
> > <ma...@incubator.apache.org>>>> wrote:
> >> >
> >> > [
> > http://issues.apache.org/jira/browse/MYFACES-694?page=all
> > <http://issues.apache.org/jira/browse/MYFACES-694?page=all> ]
> >> >
> >> > Mathias Broekelmann closed MYFACES-694:
> >> > ---------------------------------------
> >> >
> >> > Resolution: Invalid
> >> >
> >> > HTML 4.01 spec says:
> >> >
> >> > TFOOT must appear before TBODY within a TABLE
> > definition so that
> >> > user agents can render the foot before receiving all
> > of the
> >> > (potentially numerous) rows of data.
> >> >
> >> > Which is the reason why myfaces renders the footer
> > before the
> >> body.
> >> >
> >> > > t:dataTable bind calculate order error
> >> > > ---------------------------------------
> >> > >
> >> > > Key: MYFACES-694
> >> > > URL:
> > http://issues.apache.org/jira/browse/MYFACES-694
> >> > > Project: MyFaces
> >> > > Type: Bug
> >> > > Components: Tomahawk
> >> > > Versions: Nightly
> >> > > Environment: Tomcat 5.0.28, nightly build 10/10/2005
> >> > > Reporter: Zhong Li
> >> > > Priority: Critical
> >> >
> >> > >
> >> > > I have a list used in a datatable
> >> > > <t:dataTable value="#{
> >> > playlistFactory.currentUnitMPOSPlayList
> > }" var="playlistItem">
> >> > > ....
> >> > > <h:column>
> >> > > <f:facet
> >> name="header">
> >> > >
> >> > <h:outputText
> > value="#{messages['dealer_admin_length']}"/>
> >> > >
> > </f:facet>
> >> > >
> > <h:outputText
> >> > value="#{playlistItem.length}"/>
> >> > > <f:facet
> >> name="footer">
> >> > >
> >> > <h:outputText value="#{playlistFactory.totalLength}"/>
> >> > >
> > </f:facet>
> >> > > </h:column>
> >> > > ....
> >> > > </t:dataTable>
> >> > > playlistFactory.totalLength called before
> >> > playlistFactory.currentUnitMPOSPlayList called. So I got
> >> totalLength
> >> > always 0, playlistFactory.totalLengtht should be
> > called after
> >> > playlistFactory.currentUnitMPOSPlayList
> >> >
> >> > --
> >> > This message is automatically generated by JIRA.
> >> > -
> >> > If you think it was sent incorrectly contact one of the
> >> administrators:
> >> >
> > http://issues.apache.org/jira/secure/Administrators.jspa
> >> > -
> >> > For more information on JIRA, see:
> >> > http://www.atlassian.com/software/jira
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > Zhong Li
> >> >
> >> > WebJabber.Net
> >>
> >> --
> >> Don't answer to From: address!
> >> Mail to this account are droped if not recieved via
> > mailinglist.
> >> To contact me direct create the mail address by
> >> concatenating my forename to my senders domain.
> >>
> >>
> >>
> >>
> >> --
> >> Zhong Li
> >>
> >> WebJabber.Net
> >
> > --
> > Don't answer to From: address!
> > Mail to this account are droped if not recieved via mailinglist.
> > To contact me direct create the mail address by
> > concatenating my forename to my senders domain.
> >
> >
> >
> >
> > --
> > Zhong Li
> >
> > WebJabber.Net
> >
> >
> >
> >
> > --
> > Zhong Li
> >
> > WebJabber.Net
>
> --
> Don't answer to From: address!
> Mail to this account are droped if not recieved via mailinglist.
> To contact me direct create the mail address by
> concatenating my forename to my senders domain.
>
--
Zhong Li
WebJabber.Net
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order
error
Posted by Volker Weber <us...@weber-oldenburg.de>.
Did this "#{playlistFactory.currentUnitMPOSPlayList.size<10}" work ?
There is no getSize() in java.util.List.
But if: yes in this case playlistFactory.currentUnitMPOSPlayList should
called before any of the column values.
And i'm shure it is.
Zhong Li wrote:
> example if renderend =
> #{playlistFactory.currentUnitMPOSPlayList.size<10}. How do you user
> can't have those kind of requirements, myfaces is tools, I can do it as
> I like.
>
> On 10/11/05, *Zhong Li* <webjabber@gmail.com
> <ma...@gmail.com>> wrote:
>
> I know. But this one is live data, concurrent users use it. I
> prepare all data used in method
> playlistFactory.currentUnitMPOSPlayList, it is in Factory, called
> static method. Anyway it is wrong you called method in column before
> dataTable list. I am 100% sure, it is wrong.
>
>
>
>
>
> On 10/11/05, *Volker Weber* <users.myfaces@weber-oldenburg.de
> <ma...@weber-oldenburg.de>> wrote:
>
> Hi,
>
> i think you have to prepare the list, maybe, if you can't do
> this in the
> application phase, you can use a expired date to decide
> recreating of
> the list?
>
> I don't know how this i done in towmahawk, but in tobago the
> getter of
> the UIcomponents valuebindings are somtimes called multiple
> times per
> render circle.
>
>
> Zhong Li wrote:
>> Thanks. I can't prepare it first. it is dynamic list, always need
>> calculate when use refresh page. I believe everything in dataTable
>> should be called after list created, it is normal sense.
>>
>>
>>
>> On 10/11/05, *Volker Weber* < users.myfaces@weber-oldenburg.de
> <ma...@weber-oldenburg.de>
>> <mailto: users.myfaces@weber-oldenburg.de
> <ma...@weber-oldenburg.de>>> wrote:
>>
>> Hi,
>>
>> in my oppinion a bean getter shouldn't create a value, just
> fetch it.
>>
>> if you use playlistFactory.currentUnitMPOSPlayList to
> create and return
>> the List, you should ensure that all other related getter
> also create
>> the list if the list isn't initialized before.
>>
>> Generally there is no order defined to call any getter in
> jsf context.
>>
>> Bye
>>
>> Zhong Li wrote:
>> > I totally disagreed.
>> >
>> >
>> > <TABLE>
>> > <THEAD>
>> > <TR> /...header information.../
>> > </THEAD>
>> > <TFOOT>
>> > <TR> /...footer information.../
>> > </TFOOT>
>> > <TBODY>
>> > <TR>
>> > /...first row of block one data.../
>> > <TR> /...second row of block one data.../
>> > </TBODY>
>> > <TBODY>
>> > <TR> /...first row of block two data.../
>> > <TR>
>> > /...second row of block two data.../
>> > <TR> /...third row of block two data.../
>> > </TBODY>
>> > </TABLE>
>> >
>> > playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
>> > playlistItem.length is in <TBODY>
>> > playlistFactory.totalLength is in <TFOOT>
>> >
>> > Anyway you have to call
> playlistFactory.currentUnitMPOSPlayList first,
>> > it is table level!!!!
>> >
>> > How do you explain property "renderedIfEmpty", you still call
>> > playlistFactory.totalLength first then check if it is
> empty or not!!!!
>> >
>> >
>> >
>> > On 10/11/05, *Mathias Broekelmann (JIRA)*
>> > <myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>
>> <mailto: myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>>
>> > <mailto:myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>
>> <mailto: myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>>>> wrote:
>> >
>> > [
> http://issues.apache.org/jira/browse/MYFACES-694?page=all
> <http://issues.apache.org/jira/browse/MYFACES-694?page=all> ]
>> >
>> > Mathias Broekelmann closed MYFACES-694:
>> > ---------------------------------------
>> >
>> > Resolution: Invalid
>> >
>> > HTML 4.01 spec says:
>> >
>> > TFOOT must appear before TBODY within a TABLE
> definition so that
>> > user agents can render the foot before receiving all
> of the
>> > (potentially numerous) rows of data.
>> >
>> > Which is the reason why myfaces renders the footer
> before the
>> body.
>> >
>> > > t:dataTable bind calculate order error
>> > > ---------------------------------------
>> > >
>> > > Key: MYFACES-694
>> > > URL:
> http://issues.apache.org/jira/browse/MYFACES-694
>> > > Project: MyFaces
>> > > Type: Bug
>> > > Components: Tomahawk
>> > > Versions: Nightly
>> > > Environment: Tomcat 5.0.28, nightly build 10/10/2005
>> > > Reporter: Zhong Li
>> > > Priority: Critical
>> >
>> > >
>> > > I have a list used in a datatable
>> > > <t:dataTable value="#{
>> > playlistFactory.currentUnitMPOSPlayList
> }" var="playlistItem">
>> > > ....
>> > > <h:column>
>> > > <f:facet
>> name="header">
>> > >
>> > <h:outputText
> value="#{messages['dealer_admin_length']}"/>
>> > >
> </f:facet>
>> > >
> <h:outputText
>> > value="#{playlistItem.length}"/>
>> > > <f:facet
>> name="footer">
>> > >
>> > <h:outputText value="#{playlistFactory.totalLength}"/>
>> > >
> </f:facet>
>> > > </h:column>
>> > > ....
>> > > </t:dataTable>
>> > > playlistFactory.totalLength called before
>> > playlistFactory.currentUnitMPOSPlayList called. So I got
>> totalLength
>> > always 0, playlistFactory.totalLengtht should be
> called after
>> > playlistFactory.currentUnitMPOSPlayList
>> >
>> > --
>> > This message is automatically generated by JIRA.
>> > -
>> > If you think it was sent incorrectly contact one of the
>> administrators:
>> >
> http://issues.apache.org/jira/secure/Administrators.jspa
>> > -
>> > For more information on JIRA, see:
>> > http://www.atlassian.com/software/jira
>> >
>> >
>> >
>> >
>> > --
>> > Zhong Li
>> >
>> > WebJabber.Net
>>
>> --
>> Don't answer to From: address!
>> Mail to this account are droped if not recieved via
> mailinglist.
>> To contact me direct create the mail address by
>> concatenating my forename to my senders domain.
>>
>>
>>
>>
>> --
>> Zhong Li
>>
>> WebJabber.Net
>
> --
> Don't answer to From: address!
> Mail to this account are droped if not recieved via mailinglist.
> To contact me direct create the mail address by
> concatenating my forename to my senders domain.
>
>
>
>
> --
> Zhong Li
>
> WebJabber.Net
>
>
>
>
> --
> Zhong Li
>
> WebJabber.Net
--
Don't answer to From: address!
Mail to this account are droped if not recieved via mailinglist.
To contact me direct create the mail address by
concatenating my forename to my senders domain.
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Zhong Li <we...@gmail.com>.
example if renderend = #{playlistFactory.currentUnitMPOSPlayList.size<10}.
How do you user can't have those kind of requirements, myfaces is tools, I
can do it as I like.
On 10/11/05, Zhong Li <we...@gmail.com> wrote:
>
> I know. But this one is live data, concurrent users use it. I prepare all
> data used in method playlistFactory.currentUnitMPOSPlayList, it is in
> Factory, called static method. Anyway it is wrong you called method in
> column before dataTable list. I am 100% sure, it is wrong.
>
>
>
>
> On 10/11/05, Volker Weber <us...@weber-oldenburg.de> wrote:
> >
> > Hi,
> >
> > i think you have to prepare the list, maybe, if you can't do this in the
> > application phase, you can use a expired date to decide recreating of
> > the list?
> >
> > I don't know how this i done in towmahawk, but in tobago the getter of
> > the UIcomponents valuebindings are somtimes called multiple times per
> > render circle.
> >
> >
> > Zhong Li wrote:
> > > Thanks. I can't prepare it first. it is dynamic list, always need
> > > calculate when use refresh page. I believe everything in dataTable
> > > should be called after list created, it is normal sense.
> > >
> > >
> > >
> > > On 10/11/05, *Volker Weber* <users.myfaces@weber-oldenburg.de
> > > <mailto: users.myfaces@weber-oldenburg.de>> wrote:
> > >
> > > Hi,
> > >
> > > in my oppinion a bean getter shouldn't create a value, just fetch it.
> > >
> > > if you use playlistFactory.currentUnitMPOSPlayList to create and
> > return
> > > the List, you should ensure that all other related getter also create
> > > the list if the list isn't initialized before.
> > >
> > > Generally there is no order defined to call any getter in jsf context.
> > >
> > > Bye
> > >
> > > Zhong Li wrote:
> > > > I totally disagreed.
> > > >
> > > >
> > > > <TABLE>
> > > > <THEAD>
> > > > <TR> /...header information.../
> > > > </THEAD>
> > > > <TFOOT>
> > > > <TR> /...footer information.../
> > > > </TFOOT>
> > > > <TBODY>
> > > > <TR>
> > > > /...first row of block one data.../
> > > > <TR> /...second row of block one data.../
> > > > </TBODY>
> > > > <TBODY>
> > > > <TR> /...first row of block two data.../
> > > > <TR>
> > > > /...second row of block two data.../
> > > > <TR> /...third row of block two data.../
> > > > </TBODY>
> > > > </TABLE>
> > > >
> > > > playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
> > > > playlistItem.length is in <TBODY>
> > > > playlistFactory.totalLength is in <TFOOT>
> > > >
> > > > Anyway you have to call playlistFactory.currentUnitMPOSPlayListfirst,
> > > > it is table level!!!!
> > > >
> > > > How do you explain property "renderedIfEmpty", you still call
> > > > playlistFactory.totalLength first then check if it is empty or
> > not!!!!
> > > >
> > > >
> > > >
> > > > On 10/11/05, *Mathias Broekelmann (JIRA)*
> > > > <myfaces-dev@incubator.apache.org
> > > <mailto: myfaces-dev@incubator.apache.org>
> > > > <mailto:myfaces-dev@incubator.apache.org
> > > <mailto: myfaces-dev@incubator.apache.org>>> wrote:
> > > >
> > > > [ http://issues.apache.org/jira/browse/MYFACES-694?page=all ]
> > > >
> > > > Mathias Broekelmann closed MYFACES-694:
> > > > ---------------------------------------
> > > >
> > > > Resolution: Invalid
> > > >
> > > > HTML 4.01 spec says:
> > > >
> > > > TFOOT must appear before TBODY within a TABLE definition so that
> > > > user agents can render the foot before receiving all of the
> > > > (potentially numerous) rows of data.
> > > >
> > > > Which is the reason why myfaces renders the footer before the
> > > body.
> > > >
> > > > > t:dataTable bind calculate order error
> > > > > ---------------------------------------
> > > > >
> > > > > Key: MYFACES-694
> > > > > URL: http://issues.apache.org/jira/browse/MYFACES-694
> > > > > Project: MyFaces
> > > > > Type: Bug
> > > > > Components: Tomahawk
> > > > > Versions: Nightly
> > > > > Environment: Tomcat 5.0.28, nightly build 10/10/2005
> > > > > Reporter: Zhong Li
> > > > > Priority: Critical
> > > >
> > > > >
> > > > > I have a list used in a datatable
> > > > > <t:dataTable value="#{
> > > > playlistFactory.currentUnitMPOSPlayList }" var="playlistItem">
> > > > > ....
> > > > > <h:column>
> > > > > <f:facet
> > > name="header">
> > > > >
> > > > <h:outputText value="#{messages['dealer_admin_length']}"/>
> > > > > </f:facet>
> > > > > <h:outputText
> > > > value="#{playlistItem.length}"/>
> > > > > <f:facet
> > > name="footer">
> > > > >
> > > > <h:outputText value="#{playlistFactory.totalLength}"/>
> > > > > </f:facet>
> > > > > </h:column>
> > > > > ....
> > > > > </t:dataTable>
> > > > > playlistFactory.totalLength called before
> > > > playlistFactory.currentUnitMPOSPlayList called. So I got
> > > totalLength
> > > > always 0, playlistFactory.totalLengtht should be called after
> > > > playlistFactory.currentUnitMPOSPlayList
> > > >
> > > > --
> > > > This message is automatically generated by JIRA.
> > > > -
> > > > If you think it was sent incorrectly contact one of the
> > > administrators:
> > > > http://issues.apache.org/jira/secure/Administrators.jspa
> > > > -
> > > > For more information on JIRA, see:
> > > > http://www.atlassian.com/software/jira
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Zhong Li
> > > >
> > > > WebJabber.Net
> > >
> > > --
> > > Don't answer to From: address!
> > > Mail to this account are droped if not recieved via mailinglist.
> > > To contact me direct create the mail address by
> > > concatenating my forename to my senders domain.
> > >
> > >
> > >
> > >
> > > --
> > > Zhong Li
> > >
> > > WebJabber.Net
> >
> > --
> > Don't answer to From: address!
> > Mail to this account are droped if not recieved via mailinglist.
> > To contact me direct create the mail address by
> > concatenating my forename to my senders domain.
> >
>
>
>
> --
> Zhong Li
>
> WebJabber.Net
--
Zhong Li
WebJabber.Net
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Zhong Li <we...@gmail.com>.
I know. But this one is live data, concurrent users use it. I prepare all
data used in method playlistFactory.currentUnitMPOSPlayList, it is in
Factory, called static method. Anyway it is wrong you called method in
column before dataTable list. I am 100% sure, it is wrong.
On 10/11/05, Volker Weber <us...@weber-oldenburg.de> wrote:
>
> Hi,
>
> i think you have to prepare the list, maybe, if you can't do this in the
> application phase, you can use a expired date to decide recreating of
> the list?
>
> I don't know how this i done in towmahawk, but in tobago the getter of
> the UIcomponents valuebindings are somtimes called multiple times per
> render circle.
>
>
> Zhong Li wrote:
> > Thanks. I can't prepare it first. it is dynamic list, always need
> > calculate when use refresh page. I believe everything in dataTable
> > should be called after list created, it is normal sense.
> >
> >
> >
> > On 10/11/05, *Volker Weber* <users.myfaces@weber-oldenburg.de
> > <ma...@weber-oldenburg.de>> wrote:
> >
> > Hi,
> >
> > in my oppinion a bean getter shouldn't create a value, just fetch it.
> >
> > if you use playlistFactory.currentUnitMPOSPlayList to create and return
> > the List, you should ensure that all other related getter also create
> > the list if the list isn't initialized before.
> >
> > Generally there is no order defined to call any getter in jsf context.
> >
> > Bye
> >
> > Zhong Li wrote:
> > > I totally disagreed.
> > >
> > >
> > > <TABLE>
> > > <THEAD>
> > > <TR> /...header information.../
> > > </THEAD>
> > > <TFOOT>
> > > <TR> /...footer information.../
> > > </TFOOT>
> > > <TBODY>
> > > <TR>
> > > /...first row of block one data.../
> > > <TR> /...second row of block one data.../
> > > </TBODY>
> > > <TBODY>
> > > <TR> /...first row of block two data.../
> > > <TR>
> > > /...second row of block two data.../
> > > <TR> /...third row of block two data.../
> > > </TBODY>
> > > </TABLE>
> > >
> > > playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
> > > playlistItem.length is in <TBODY>
> > > playlistFactory.totalLength is in <TFOOT>
> > >
> > > Anyway you have to call playlistFactory.currentUnitMPOSPlayList first,
> > > it is table level!!!!
> > >
> > > How do you explain property "renderedIfEmpty", you still call
> > > playlistFactory.totalLength first then check if it is empty or not!!!!
> > >
> > >
> > >
> > > On 10/11/05, *Mathias Broekelmann (JIRA)*
> > > <myfaces-dev@incubator.apache.org
> > <ma...@incubator.apache.org>
> > > <mailto:myfaces-dev@incubator.apache.org
> > <ma...@incubator.apache.org>>> wrote:
> > >
> > > [ http://issues.apache.org/jira/browse/MYFACES-694?page=all ]
> > >
> > > Mathias Broekelmann closed MYFACES-694:
> > > ---------------------------------------
> > >
> > > Resolution: Invalid
> > >
> > > HTML 4.01 spec says:
> > >
> > > TFOOT must appear before TBODY within a TABLE definition so that
> > > user agents can render the foot before receiving all of the
> > > (potentially numerous) rows of data.
> > >
> > > Which is the reason why myfaces renders the footer before the
> > body.
> > >
> > > > t:dataTable bind calculate order error
> > > > ---------------------------------------
> > > >
> > > > Key: MYFACES-694
> > > > URL: http://issues.apache.org/jira/browse/MYFACES-694
> > > > Project: MyFaces
> > > > Type: Bug
> > > > Components: Tomahawk
> > > > Versions: Nightly
> > > > Environment: Tomcat 5.0.28, nightly build 10/10/2005
> > > > Reporter: Zhong Li
> > > > Priority: Critical
> > >
> > > >
> > > > I have a list used in a datatable
> > > > <t:dataTable value="#{
> > > playlistFactory.currentUnitMPOSPlayList}" var="playlistItem">
> > > > ....
> > > > <h:column>
> > > > <f:facet
> > name="header">
> > > >
> > > <h:outputText value="#{messages['dealer_admin_length']}"/>
> > > > </f:facet>
> > > > <h:outputText
> > > value="#{playlistItem.length}"/>
> > > > <f:facet
> > name="footer">
> > > >
> > > <h:outputText value="#{playlistFactory.totalLength}"/>
> > > > </f:facet>
> > > > </h:column>
> > > > ....
> > > > </t:dataTable>
> > > > playlistFactory.totalLength called before
> > > playlistFactory.currentUnitMPOSPlayList called. So I got
> > totalLength
> > > always 0, playlistFactory.totalLengtht should be called after
> > > playlistFactory.currentUnitMPOSPlayList
> > >
> > > --
> > > This message is automatically generated by JIRA.
> > > -
> > > If you think it was sent incorrectly contact one of the
> > administrators:
> > > http://issues.apache.org/jira/secure/Administrators.jspa
> > > -
> > > For more information on JIRA, see:
> > > http://www.atlassian.com/software/jira
> > >
> > >
> > >
> > >
> > > --
> > > Zhong Li
> > >
> > > WebJabber.Net
> >
> > --
> > Don't answer to From: address!
> > Mail to this account are droped if not recieved via mailinglist.
> > To contact me direct create the mail address by
> > concatenating my forename to my senders domain.
> >
> >
> >
> >
> > --
> > Zhong Li
> >
> > WebJabber.Net
>
> --
> Don't answer to From: address!
> Mail to this account are droped if not recieved via mailinglist.
> To contact me direct create the mail address by
> concatenating my forename to my senders domain.
>
--
Zhong Li
WebJabber.Net
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order
error
Posted by Volker Weber <us...@weber-oldenburg.de>.
Hi,
i think you have to prepare the list, maybe, if you can't do this in the
application phase, you can use a expired date to decide recreating of
the list?
I don't know how this i done in towmahawk, but in tobago the getter of
the UIcomponents valuebindings are somtimes called multiple times per
render circle.
Zhong Li wrote:
> Thanks. I can't prepare it first. it is dynamic list, always need
> calculate when use refresh page. I believe everything in dataTable
> should be called after list created, it is normal sense.
>
>
>
> On 10/11/05, *Volker Weber* <users.myfaces@weber-oldenburg.de
> <ma...@weber-oldenburg.de>> wrote:
>
> Hi,
>
> in my oppinion a bean getter shouldn't create a value, just fetch it.
>
> if you use playlistFactory.currentUnitMPOSPlayList to create and return
> the List, you should ensure that all other related getter also create
> the list if the list isn't initialized before.
>
> Generally there is no order defined to call any getter in jsf context.
>
> Bye
>
> Zhong Li wrote:
> > I totally disagreed.
> >
> >
> > <TABLE>
> > <THEAD>
> > <TR> /...header information.../
> > </THEAD>
> > <TFOOT>
> > <TR> /...footer information.../
> > </TFOOT>
> > <TBODY>
> > <TR>
> > /...first row of block one data.../
> > <TR> /...second row of block one data.../
> > </TBODY>
> > <TBODY>
> > <TR> /...first row of block two data.../
> > <TR>
> > /...second row of block two data.../
> > <TR> /...third row of block two data.../
> > </TBODY>
> > </TABLE>
> >
> > playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
> > playlistItem.length is in <TBODY>
> > playlistFactory.totalLength is in <TFOOT>
> >
> > Anyway you have to call playlistFactory.currentUnitMPOSPlayList first,
> > it is table level!!!!
> >
> > How do you explain property "renderedIfEmpty", you still call
> > playlistFactory.totalLength first then check if it is empty or not!!!!
> >
> >
> >
> > On 10/11/05, *Mathias Broekelmann (JIRA)*
> > <myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>
> > <mailto:myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>>> wrote:
> >
> > [ http://issues.apache.org/jira/browse/MYFACES-694?page=all ]
> >
> > Mathias Broekelmann closed MYFACES-694:
> > ---------------------------------------
> >
> > Resolution: Invalid
> >
> > HTML 4.01 spec says:
> >
> > TFOOT must appear before TBODY within a TABLE definition so that
> > user agents can render the foot before receiving all of the
> > (potentially numerous) rows of data.
> >
> > Which is the reason why myfaces renders the footer before the
> body.
> >
> > > t:dataTable bind calculate order error
> > > ---------------------------------------
> > >
> > > Key: MYFACES-694
> > > URL: http://issues.apache.org/jira/browse/MYFACES-694
> > > Project: MyFaces
> > > Type: Bug
> > > Components: Tomahawk
> > > Versions: Nightly
> > > Environment: Tomcat 5.0.28, nightly build 10/10/2005
> > > Reporter: Zhong Li
> > > Priority: Critical
> >
> > >
> > > I have a list used in a datatable
> > > <t:dataTable value="#{
> > playlistFactory.currentUnitMPOSPlayList}" var="playlistItem">
> > > ....
> > > <h:column>
> > > <f:facet
> name="header">
> > >
> > <h:outputText value="#{messages['dealer_admin_length']}"/>
> > > </f:facet>
> > > <h:outputText
> > value="#{playlistItem.length}"/>
> > > <f:facet
> name="footer">
> > >
> > <h:outputText value="#{playlistFactory.totalLength}"/>
> > > </f:facet>
> > > </h:column>
> > > ....
> > > </t:dataTable>
> > > playlistFactory.totalLength called before
> > playlistFactory.currentUnitMPOSPlayList called. So I got
> totalLength
> > always 0, playlistFactory.totalLengtht should be called after
> > playlistFactory.currentUnitMPOSPlayList
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > If you think it was sent incorrectly contact one of the
> administrators:
> > http://issues.apache.org/jira/secure/Administrators.jspa
> > -
> > For more information on JIRA, see:
> > http://www.atlassian.com/software/jira
> >
> >
> >
> >
> > --
> > Zhong Li
> >
> > WebJabber.Net
>
> --
> Don't answer to From: address!
> Mail to this account are droped if not recieved via mailinglist.
> To contact me direct create the mail address by
> concatenating my forename to my senders domain.
>
>
>
>
> --
> Zhong Li
>
> WebJabber.Net
--
Don't answer to From: address!
Mail to this account are droped if not recieved via mailinglist.
To contact me direct create the mail address by
concatenating my forename to my senders domain.
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order
error
Posted by Volker Weber <us...@weber-oldenburg.de>.
No, if the table has rendered=false the columns are not evaluated.
but why should the renderer fetch the values of the list before they are
needed? and as mathias wrote : the body is rendered at last.
Zhong Li wrote:
> also I totally confuse here, column tag is embed in dataTable tag, how
> could it calculate first? if I have rendered property in dataTable, you
> still calculate data in column? It is absolutely wrong.
>
> I know saveState is totally misconcept, any other tags? I am very
> confuse about myfaces approach as I mentions month ago. Please follow
> the standard, it is key.
>
> On 10/11/05, *Zhong Li* <webjabber@gmail.com
> <ma...@gmail.com>> wrote:
>
> Thanks. I can't prepare it first. it is dynamic list, always need
> calculate when use refresh page. I believe everything in dataTable
> should be called after list created, it is normal sense.
>
>
>
>
> On 10/11/05, *Volker Weber* < users.myfaces@weber-oldenburg.de
> <ma...@weber-oldenburg.de>> wrote:
>
> Hi,
>
> in my oppinion a bean getter shouldn't create a value, just
> fetch it.
>
> if you use playlistFactory.currentUnitMPOSPlayList to create and
> return
> the List, you should ensure that all other related getter also
> create
> the list if the list isn't initialized before.
>
> Generally there is no order defined to call any getter in jsf
> context.
>
> Bye
>
> Zhong Li wrote:
>> I totally disagreed.
>>
>>
>> <TABLE>
>> <THEAD>
>> <TR> /...header information.../
>> </THEAD>
>> <TFOOT>
>> <TR> /...footer information.../
>> </TFOOT>
>> <TBODY>
>> <TR>
>> /...first row of block one data.../
>> <TR> /...second row of block one data.../
>> </TBODY>
>> <TBODY>
>> <TR> /...first row of block two data.../
>> <TR>
>> /...second row of block two data.../
>> <TR> /...third row of block two data.../
>> </TBODY>
>> </TABLE>
>>
>> playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
>> playlistItem.length is in <TBODY>
>> playlistFactory.totalLength is in <TFOOT>
>>
>> Anyway you have to call playlistFactory.currentUnitMPOSPlayList
> first,
>> it is table level!!!!
>>
>> How do you explain property "renderedIfEmpty", you still call
>> playlistFactory.totalLength first then check if it is empty or
> not!!!!
>>
>>
>>
>> On 10/11/05, *Mathias Broekelmann (JIRA)*
>> <myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>
>> <mailto: myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>>> wrote:
>>
>> [
> http://issues.apache.org/jira/browse/MYFACES-694?page=all
> <http://issues.apache.org/jira/browse/MYFACES-694?page=all> ]
>>
>> Mathias Broekelmann closed MYFACES-694:
>> ---------------------------------------
>>
>> Resolution: Invalid
>>
>> HTML 4.01 spec says:
>>
>> TFOOT must appear before TBODY within a TABLE definition so
> that
>> user agents can render the foot before receiving all of the
>> (potentially numerous) rows of data.
>>
>> Which is the reason why myfaces renders the footer before
> the body.
>>
>> > t:dataTable bind calculate order error
>> > ---------------------------------------
>> >
>> > Key: MYFACES-694
>> > URL:
> http://issues.apache.org/jira/browse/MYFACES-694
>> > Project: MyFaces
>> > Type: Bug
>> > Components: Tomahawk
>> > Versions: Nightly
>> > Environment: Tomcat 5.0.28, nightly build 10/10/2005
>> > Reporter: Zhong Li
>> > Priority: Critical
>>
>> >
>> > I have a list used in a datatable
>> > <t:dataTable value="#{
>> playlistFactory.currentUnitMPOSPlayList}" var="playlistItem">
>> > ....
>> > <h:column>
>> > <f:facet
> name="header">
>> >
>> <h:outputText value="#{messages['dealer_admin_length']}"/>
>> > </f:facet>
>> > <h:outputText
>> value="#{playlistItem.length}"/>
>> > <f:facet
> name="footer">
>> >
>> <h:outputText value="#{playlistFactory.totalLength}"/>
>> > </f:facet>
>> > </h:column>
>> > ....
>> > </t:dataTable>
>> > playlistFactory.totalLength called before
>> playlistFactory.currentUnitMPOSPlayList called. So I got
> totalLength
>> always 0, playlistFactory.totalLengtht should be called after
>> playlistFactory.currentUnitMPOSPlayList
>>
>> --
>> This message is automatically generated by JIRA.
>> -
>> If you think it was sent incorrectly contact one of the
> administrators:
>> http://issues.apache.org/jira/secure/Administrators.jspa
>> -
>> For more information on JIRA, see:
>> http://www.atlassian.com/software/jira
> <http://www.atlassian.com/software/jira>
>>
>>
>>
>>
>> --
>> Zhong Li
>>
>> WebJabber.Net
>
> --
> Don't answer to From: address!
> Mail to this account are droped if not recieved via mailinglist.
> To contact me direct create the mail address by
> concatenating my forename to my senders domain.
>
>
>
>
> --
> Zhong Li
>
> WebJabber.Net
>
>
>
>
> --
> Zhong Li
>
> WebJabber.Net
--
Don't answer to From: address!
Mail to this account are droped if not recieved via mailinglist.
To contact me direct create the mail address by
concatenating my forename to my senders domain.
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Zhong Li <we...@gmail.com>.
also I totally confuse here, column tag is embed in dataTable tag, how could
it calculate first? if I have rendered property in dataTable, you still
calculate data in column? It is absolutely wrong.
I know saveState is totally misconcept, any other tags? I am very confuse
about myfaces approach as I mentions month ago. Please follow the standard,
it is key.
On 10/11/05, Zhong Li <we...@gmail.com> wrote:
>
> Thanks. I can't prepare it first. it is dynamic list, always need
> calculate when use refresh page. I believe everything in dataTable should be
> called after list created, it is normal sense.
>
>
>
> On 10/11/05, Volker Weber <us...@weber-oldenburg.de> wrote:
> >
> > Hi,
> >
> > in my oppinion a bean getter shouldn't create a value, just fetch it.
> >
> > if you use playlistFactory.currentUnitMPOSPlayList to create and return
> > the List, you should ensure that all other related getter also create
> > the list if the list isn't initialized before.
> >
> > Generally there is no order defined to call any getter in jsf context.
> >
> > Bye
> >
> > Zhong Li wrote:
> > > I totally disagreed.
> > >
> > >
> > > <TABLE>
> > > <THEAD>
> > > <TR> /...header information.../
> > > </THEAD>
> > > <TFOOT>
> > > <TR> /...footer information.../
> > > </TFOOT>
> > > <TBODY>
> > > <TR>
> > > /...first row of block one data.../
> > > <TR> /...second row of block one data.../
> > > </TBODY>
> > > <TBODY>
> > > <TR> /...first row of block two data.../
> > > <TR>
> > > /...second row of block two data.../
> > > <TR> /...third row of block two data.../
> > > </TBODY>
> > > </TABLE>
> > >
> > > playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
> > > playlistItem.length is in <TBODY>
> > > playlistFactory.totalLength is in <TFOOT>
> > >
> > > Anyway you have to call playlistFactory.currentUnitMPOSPlayList first,
> > > it is table level!!!!
> > >
> > > How do you explain property "renderedIfEmpty", you still call
> > > playlistFactory.totalLength first then check if it is empty or not!!!!
> > >
> > >
> > >
> > > On 10/11/05, *Mathias Broekelmann (JIRA)*
> > > <myfaces-dev@incubator.apache.org
> > > <ma...@incubator.apache.org>> wrote:
> > >
> > > [ http://issues.apache.org/jira/browse/MYFACES-694?page=all ]
> > >
> > > Mathias Broekelmann closed MYFACES-694:
> > > ---------------------------------------
> > >
> > > Resolution: Invalid
> > >
> > > HTML 4.01 spec says:
> > >
> > > TFOOT must appear before TBODY within a TABLE definition so that
> > > user agents can render the foot before receiving all of the
> > > (potentially numerous) rows of data.
> > >
> > > Which is the reason why myfaces renders the footer before the body.
> > >
> > > > t:dataTable bind calculate order error
> > > > ---------------------------------------
> > > >
> > > > Key: MYFACES-694
> > > > URL: http://issues.apache.org/jira/browse/MYFACES-694
> > > > Project: MyFaces
> > > > Type: Bug
> > > > Components: Tomahawk
> > > > Versions: Nightly
> > > > Environment: Tomcat 5.0.28, nightly build 10/10/2005
> > > > Reporter: Zhong Li
> > > > Priority: Critical
> > >
> > > >
> > > > I have a list used in a datatable
> > > > <t:dataTable value="#{
> > > playlistFactory.currentUnitMPOSPlayList}" var="playlistItem">
> > > > ....
> > > > <h:column>
> > > > <f:facet name="header">
> > > >
> > > <h:outputText value="#{messages['dealer_admin_length']}"/>
> > > > </f:facet>
> > > > <h:outputText
> > > value="#{playlistItem.length}"/>
> > > > <f:facet name="footer">
> > > >
> > > <h:outputText value="#{playlistFactory.totalLength}"/>
> > > > </f:facet>
> > > > </h:column>
> > > > ....
> > > > </t:dataTable>
> > > > playlistFactory.totalLength called before
> > > playlistFactory.currentUnitMPOSPlayList called. So I got totalLength
> > > always 0, playlistFactory.totalLengtht should be called after
> > > playlistFactory.currentUnitMPOSPlayList
> > >
> > > --
> > > This message is automatically generated by JIRA.
> > > -
> > > If you think it was sent incorrectly contact one of the
> > administrators:
> > > http://issues.apache.org/jira/secure/Administrators.jspa
> > > -
> > > For more information on JIRA, see:
> > > http://www.atlassian.com/software/jira
> > >
> > >
> > >
> > >
> > > --
> > > Zhong Li
> > >
> > > WebJabber.Net
> >
> > --
> > Don't answer to From: address!
> > Mail to this account are droped if not recieved via mailinglist.
> > To contact me direct create the mail address by
> > concatenating my forename to my senders domain.
> >
>
>
>
> --
> Zhong Li
>
> WebJabber.Net
--
Zhong Li
WebJabber.Net
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Zhong Li <we...@gmail.com>.
Thanks. I can't prepare it first. it is dynamic list, always need calculate
when use refresh page. I believe everything in dataTable should be called
after list created, it is normal sense.
On 10/11/05, Volker Weber <us...@weber-oldenburg.de> wrote:
>
> Hi,
>
> in my oppinion a bean getter shouldn't create a value, just fetch it.
>
> if you use playlistFactory.currentUnitMPOSPlayList to create and return
> the List, you should ensure that all other related getter also create
> the list if the list isn't initialized before.
>
> Generally there is no order defined to call any getter in jsf context.
>
> Bye
>
> Zhong Li wrote:
> > I totally disagreed.
> >
> >
> > <TABLE>
> > <THEAD>
> > <TR> /...header information.../
> > </THEAD>
> > <TFOOT>
> > <TR> /...footer information.../
> > </TFOOT>
> > <TBODY>
> > <TR>
> > /...first row of block one data.../
> > <TR> /...second row of block one data.../
> > </TBODY>
> > <TBODY>
> > <TR> /...first row of block two data.../
> > <TR>
> > /...second row of block two data.../
> > <TR> /...third row of block two data.../
> > </TBODY>
> > </TABLE>
> >
> > playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
> > playlistItem.length is in <TBODY>
> > playlistFactory.totalLength is in <TFOOT>
> >
> > Anyway you have to call playlistFactory.currentUnitMPOSPlayList first,
> > it is table level!!!!
> >
> > How do you explain property "renderedIfEmpty", you still call
> > playlistFactory.totalLength first then check if it is empty or not!!!!
> >
> >
> >
> > On 10/11/05, *Mathias Broekelmann (JIRA)*
> > <myfaces-dev@incubator.apache.org
> > <ma...@incubator.apache.org>> wrote:
> >
> > [ http://issues.apache.org/jira/browse/MYFACES-694?page=all ]
> >
> > Mathias Broekelmann closed MYFACES-694:
> > ---------------------------------------
> >
> > Resolution: Invalid
> >
> > HTML 4.01 spec says:
> >
> > TFOOT must appear before TBODY within a TABLE definition so that
> > user agents can render the foot before receiving all of the
> > (potentially numerous) rows of data.
> >
> > Which is the reason why myfaces renders the footer before the body.
> >
> > > t:dataTable bind calculate order error
> > > ---------------------------------------
> > >
> > > Key: MYFACES-694
> > > URL: http://issues.apache.org/jira/browse/MYFACES-694
> > > Project: MyFaces
> > > Type: Bug
> > > Components: Tomahawk
> > > Versions: Nightly
> > > Environment: Tomcat 5.0.28, nightly build 10/10/2005
> > > Reporter: Zhong Li
> > > Priority: Critical
> >
> > >
> > > I have a list used in a datatable
> > > <t:dataTable value="#{
> > playlistFactory.currentUnitMPOSPlayList}" var="playlistItem">
> > > ....
> > > <h:column>
> > > <f:facet name="header">
> > >
> > <h:outputText value="#{messages['dealer_admin_length']}"/>
> > > </f:facet>
> > > <h:outputText
> > value="#{playlistItem.length}"/>
> > > <f:facet name="footer">
> > >
> > <h:outputText value="#{playlistFactory.totalLength}"/>
> > > </f:facet>
> > > </h:column>
> > > ....
> > > </t:dataTable>
> > > playlistFactory.totalLength called before
> > playlistFactory.currentUnitMPOSPlayList called. So I got totalLength
> > always 0, playlistFactory.totalLengtht should be called after
> > playlistFactory.currentUnitMPOSPlayList
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > If you think it was sent incorrectly contact one of the administrators:
> > http://issues.apache.org/jira/secure/Administrators.jspa
> > -
> > For more information on JIRA, see:
> > http://www.atlassian.com/software/jira
> >
> >
> >
> >
> > --
> > Zhong Li
> >
> > WebJabber.Net
>
> --
> Don't answer to From: address!
> Mail to this account are droped if not recieved via mailinglist.
> To contact me direct create the mail address by
> concatenating my forename to my senders domain.
>
--
Zhong Li
WebJabber.Net
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order
error
Posted by Volker Weber <us...@weber-oldenburg.de>.
Hi,
in my oppinion a bean getter shouldn't create a value, just fetch it.
if you use playlistFactory.currentUnitMPOSPlayList to create and return
the List, you should ensure that all other related getter also create
the list if the list isn't initialized before.
Generally there is no order defined to call any getter in jsf context.
Bye
Zhong Li wrote:
> I totally disagreed.
>
>
> <TABLE>
> <THEAD>
> <TR> /...header information.../
> </THEAD>
> <TFOOT>
> <TR> /...footer information.../
> </TFOOT>
> <TBODY>
> <TR>
> /...first row of block one data.../
> <TR> /...second row of block one data.../
> </TBODY>
> <TBODY>
> <TR> /...first row of block two data.../
> <TR>
> /...second row of block two data.../
> <TR> /...third row of block two data.../
> </TBODY>
> </TABLE>
>
> playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
> playlistItem.length is in <TBODY>
> playlistFactory.totalLength is in <TFOOT>
>
> Anyway you have to call playlistFactory.currentUnitMPOSPlayList first,
> it is table level!!!!
>
> How do you explain property "renderedIfEmpty", you still call
> playlistFactory.totalLength first then check if it is empty or not!!!!
>
>
>
> On 10/11/05, *Mathias Broekelmann (JIRA)*
> <myfaces-dev@incubator.apache.org
> <ma...@incubator.apache.org>> wrote:
>
> [ http://issues.apache.org/jira/browse/MYFACES-694?page=all ]
>
> Mathias Broekelmann closed MYFACES-694:
> ---------------------------------------
>
> Resolution: Invalid
>
> HTML 4.01 spec says:
>
> TFOOT must appear before TBODY within a TABLE definition so that
> user agents can render the foot before receiving all of the
> (potentially numerous) rows of data.
>
> Which is the reason why myfaces renders the footer before the body.
>
> > t:dataTable bind calculate order error
> > ---------------------------------------
> >
> > Key: MYFACES-694
> > URL: http://issues.apache.org/jira/browse/MYFACES-694
> > Project: MyFaces
> > Type: Bug
> > Components: Tomahawk
> > Versions: Nightly
> > Environment: Tomcat 5.0.28, nightly build 10/10/2005
> > Reporter: Zhong Li
> > Priority: Critical
>
> >
> > I have a list used in a datatable
> > <t:dataTable value="#{
> playlistFactory.currentUnitMPOSPlayList}" var="playlistItem">
> > ....
> > <h:column>
> > <f:facet name="header">
> >
> <h:outputText value="#{messages['dealer_admin_length']}"/>
> > </f:facet>
> > <h:outputText
> value="#{playlistItem.length}"/>
> > <f:facet name="footer">
> >
> <h:outputText value="#{playlistFactory.totalLength}"/>
> > </f:facet>
> > </h:column>
> > ....
> > </t:dataTable>
> > playlistFactory.totalLength called before
> playlistFactory.currentUnitMPOSPlayList called. So I got totalLength
> always 0, playlistFactory.totalLengtht should be called after
> playlistFactory.currentUnitMPOSPlayList
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see:
> http://www.atlassian.com/software/jira
>
>
>
>
> --
> Zhong Li
>
> WebJabber.Net
--
Don't answer to From: address!
Mail to this account are droped if not recieved via mailinglist.
To contact me direct create the mail address by
concatenating my forename to my senders domain.
Re: [jira] Closed: (MYFACES-694) t:dataTable bind calculate order error
Posted by Zhong Li <we...@gmail.com>.
I totally disagreed.
<TABLE>
<THEAD>
<TR> *...header information...*
</THEAD>
<TFOOT>
<TR> *...footer information...*
</TFOOT>
<TBODY>
<TR> *...first row of block one data...*
<TR> *...second row of block one data...*
</TBODY>
<TBODY>
<TR> *...first row of block two data...*
<TR> *...second row of block two data...*
<TR> *...third row of block two data...*
</TBODY>
</TABLE>
playlistFactory.currentUnitMPOSPlayList should be in <TABLE>
playlistItem.length is in <TBODY>
playlistFactory.totalLength is in <TFOOT>
Anyway you have to call playlistFactory.currentUnitMPOSPlayList first, it is
table level!!!!
How do you explain property "renderedIfEmpty", you still call
playlistFactory.totalLength first then check if it is empty or not!!!!
On 10/11/05, Mathias Broekelmann (JIRA) <my...@incubator.apache.org>
wrote:
>
> [ http://issues.apache.org/jira/browse/MYFACES-694?page=all ]
>
> Mathias Broekelmann closed MYFACES-694:
> ---------------------------------------
>
> Resolution: Invalid
>
> HTML 4.01 spec says:
>
> TFOOT must appear before TBODY within a TABLE definition so that user
> agents can render the foot before receiving all of the (potentially
> numerous) rows of data.
>
> Which is the reason why myfaces renders the footer before the body.
>
> > t:dataTable bind calculate order error
> > ---------------------------------------
> >
> > Key: MYFACES-694
> > URL: http://issues.apache.org/jira/browse/MYFACES-694
> > Project: MyFaces
> > Type: Bug
> > Components: Tomahawk
> > Versions: Nightly
> > Environment: Tomcat 5.0.28, nightly build 10/10/2005
> > Reporter: Zhong Li
> > Priority: Critical
>
> >
> > I have a list used in a datatable
> > <t:dataTable value="#{playlistFactory.currentUnitMPOSPlayList}"
> var="playlistItem">
> > ....
> > <h:column>
> > <f:facet name="header">
> > <h:outputText value="#{messages['dealer_admin_length']}"/>
> > </f:facet>
> > <h:outputText value="#{playlistItem.length}"/>
> > <f:facet name="footer">
> > <h:outputText value="#{playlistFactory.totalLength}"/>
> > </f:facet>
> > </h:column>
> > ....
> > </t:dataTable>
> > playlistFactory.totalLength called before
> playlistFactory.currentUnitMPOSPlayList called. So I got totalLength
> always 0, playlistFactory.totalLengtht should be called after
> playlistFactory.currentUnitMPOSPlayList
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see:
> http://www.atlassian.com/software/jira
>
>
--
Zhong Li
WebJabber.Net