Re: Grid Pagination and Performance
On Thu, 14 Nov 2013 00:33:04 -0200, Thai Tran wrote: Thank all for your answers. What I am really confused is the official document does not say anything about the performance, while I can see clearly that in my persisted list, there is 10k objects transferred back and forth between client and server even the rowsPerPage is set to 20. I think there should be a warning there. This will only happen if you fetch all objects instead of using a GridDataSource implementation, provided by Tapestry or written by you, that only fetches the object that will be shown. Grid itself doesn't fetch any data. It delegates it to the GriDataSource parameter, which is up to you to provide. -- Thiago H. de Paula Figueiredo Tapestry, Java and Hibernate consultant and developer http://machina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Grid Pagination and Performance
On Wed, 13 Nov 2013 20:29:51 -0200, Lance Java wrote: The grid needs the rowcount to know how many pages there are in total (eg page 1 of N). HibernateGridDataSource and JpaGridDataSource execute 2 types of queries. 1 to get the rowcount and another to get a single page at a time. In my opinion this is a scalable approach. Not to mention the queries can be cached, specially the row count one. -- Thiago H. de Paula Figueiredo Tapestry, Java and Hibernate consultant and developer http://machina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Grid Pagination and Performance
The Grid should only ever send a single page of data at a time. Let's get things clear... Are you using @Persist or java.util.List with your large dataset? To maintain scalability you should never coerce GridDataSource to List. Perhaps it's just your choice of language (persist & list) that was ambiguous or perhaps we've found your issue. I think some code might help better explain what you're doing.
Re: Grid Pagination and Performance
Thank all for your answers. What I am really confused is the official document does not say anything about the performance, while I can see clearly that in my persisted list, there is 10k objects transferred back and forth between client and server even the rowsPerPage is set to 20. I think there should be a warning there. On Wed, Nov 13, 2013 at 9:54 AM, Thai Tran wrote: > Good morning everyone (it is morning here :D) > > According to official documentation (http://tapestry.apache.org/ > current/apidocs/org/apache/tapestry5/corelib/components/Grid.html), we > only need to set the rowsPerPage to turn the pagination on without caring > about the actual returned list 's size. Having said that, if the returned > result contains millions of records, it will kill the server memory, IMO > > According to the none-official document (http://jumpstart. > doublenegative.com.au/jumpstart/examples/tables/griddatasources), we need > to extends the GridDataSource in order to return the correct number of > records from database to server > > I am just wondering, why does the misleading first way appear in the > official document ? Or I am missing sth? > > Thai Tran > > >
Re: Grid Pagination and Performance
The grid needs the rowcount to know how many pages there are in total (eg page 1 of N). HibernateGridDataSource and JpaGridDataSource execute 2 types of queries. 1 to get the rowcount and another to get a single page at a time. In my opinion this is a scalable approach.
Re: Grid Pagination and Performance
@Thai, you can implement your own GridSource for better performance. Check this thread<http://apache-tapestry-mailing-list-archives.1045711.n5.nabble.com/5-3-6-GridDataSource-provided-row-index-to-getRowValue-int-td5718694.html>for help. *-* *Muhammad Gelbana* http://www.linkedin.com/in/mgelbana On Wed, Nov 13, 2013 at 10:17 AM, Antal van Kalleveen < an...@vankalleveen.net> wrote: > Hi, > > You are correct that the current provided implementations of the > GridDataSource (HibernateGridDataSource and JpaGridDataSource) will query > for the total number of rows in the database and therefor can kill > performance on the client side as well as on the DB side. Particulary if > sorting and filtering is applied. > > The GridDataSource is only an interface so its up to you on how you decide > to implement the getAvailableRows function. > > I may have another solution, I've written a small component library for > Tapestry with a 'PagedGrid' in it. This is an extension of the supplied > Grid component with a custom pager and a custom DataSource implementation > which does not query for the total number of rows and will perform much > faster with large datasets. > > The code can be found here: https://github.com/intercommit/Weaves > > And a demo is running here: > http://intercommitweavesdemo.intercommit.cloudbees.net/grid/pagedgriddemo > > Good luck, > Antal > > OriginalMessage > >From: "Thai Tran" > >To: "Tapestry users" > >Sent: Wed, Nov 13, 2013, 03:54 > >Subject: [SPAM] Grid Pagination and Performance > > > >Good morning everyone (it is morning here :D) > > > >According to official documentation > >( > http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Grid.html > ), > >we only need to set the rowsPerPage to turn the pagination on without > >caring about the actual returned list 's size. Having said that, if the > >returned result contains millions of records, it will kill the server > >memory, IMO > > > >According to the none-official document > >( > http://jumpstart.doublenegative.com.au/jumpstart/examples/tables/griddatasources > ), > >we need to extends the GridDataSource in order to return the correct > >number of records from database to server > > > >I am just wondering, why does the misleading first way appear in the > >official document ? Or I am missing sth? > > > >Thai Tran > > > > > > > >- > >To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Grid Pagination and Performance
Hi, You are correct that the current provided implementations of the GridDataSource (HibernateGridDataSource and JpaGridDataSource) will query for the total number of rows in the database and therefor can kill performance on the client side as well as on the DB side. Particulary if sorting and filtering is applied. The GridDataSource is only an interface so its up to you on how you decide to implement the getAvailableRows function. I may have another solution, I've written a small component library for Tapestry with a 'PagedGrid' in it. This is an extension of the supplied Grid component with a custom pager and a custom DataSource implementation which does not query for the total number of rows and will perform much faster with large datasets. The code can be found here: https://github.com/intercommit/Weaves And a demo is running here: http://intercommitweavesdemo.intercommit.cloudbees.net/grid/pagedgriddemo Good luck, Antal OriginalMessage >From: "Thai Tran" >To: "Tapestry users" >Sent: Wed, Nov 13, 2013, 03:54 >Subject: [SPAM] Grid Pagination and Performance > >Good morning everyone (it is morning here :D) > >According to official documentation >(http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Grid.html), > >we only need to set the rowsPerPage to turn the pagination on without >caring about the actual returned list 's size. Having said that, if the >returned result contains millions of records, it will kill the server >memory, IMO > >According to the none-official document >(http://jumpstart.doublenegative.com.au/jumpstart/examples/tables/griddatasources), > >we need to extends the GridDataSource in order to return the correct >number of records from database to server > >I am just wondering, why does the misleading first way appear in the >official document ? Or I am missing sth? > >Thai Tran > > > >- >To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >For additional commands, e-mail: users-h...@tapestry.apache.org > > - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Grid Pagination and Performance
Good morning everyone (it is morning here :D) According to official documentation (http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Grid.html), we only need to set the rowsPerPage to turn the pagination on without caring about the actual returned list 's size. Having said that, if the returned result contains millions of records, it will kill the server memory, IMO According to the none-official document (http://jumpstart.doublenegative.com.au/jumpstart/examples/tables/griddatasources), we need to extends the GridDataSource in order to return the correct number of records from database to server I am just wondering, why does the misleading first way appear in the official document ? Or I am missing sth? Thai Tran - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: loop pagination - T5 Bootstrap
Still i thank you for inspiration with your gallery component and other components in library. Thanks!> Sorry for my previous answer… I didn't realise that this tapestry-bootstrap> mixin existed.>> After looking at the source here:>> https://github.com/trsvax/tapestry-bootstrap/blob/master/src/main/java/com/trsvax/bootstrap/mixins/Pager.java>> It seems to me that this mixin does not do 'true' paging since the source> is a java.util.List. I realise that the client only sees a page of data at> a time. But on the server, the entire List must be loaded into memory which> may cause OutOfMemoryErrors for large collections.>> The GridDataSource (or similar interface that supports serverside paging)> is the more scalable solution.>> Please correct me if I'm wrong… I only had a quick look through the source> code.>
Re: loop pagination - T5 Bootstrap
It's true the mixin does not support GridDataSource, probably should but it works OK for most things as is. To support really large collections the pagination component would also need to be rewritten since it displays a link per page and that would not work well for thousands of pages. The other thing that got lost in my conversion to Bootstrap 2 was the mixin that allowed infinite scrolling if javascript is enabled. Perhaps it's time for some updates. On Tue, May 7, 2013 at 2:52 AM, Lance Java wrote: > Sorry for my previous answer… I didn't realise that this tapestry-bootstrap > mixin existed. > > After looking at the source here: > > https://github.com/trsvax/tapestry-bootstrap/blob/master/src/main/java/com/trsvax/bootstrap/mixins/Pager.java > > It seems to me that this mixin does not do 'true' paging since the source > is a java.util.List. I realise that the client only sees a page of data at > a time. But on the server, the entire List must be loaded into memory which > may cause OutOfMemoryErrors for large collections. > > The GridDataSource (or similar interface that supports serverside paging) > is the more scalable solution. > > Please correct me if I'm wrong… I only had a quick look through the source > code. >
Re: loop pagination - T5 Bootstrap
Sorry for my previous answer… I didn't realise that this tapestry-bootstrap mixin existed. After looking at the source here: https://github.com/trsvax/tapestry-bootstrap/blob/master/src/main/java/com/trsvax/bootstrap/mixins/Pager.java It seems to me that this mixin does not do 'true' paging since the source is a java.util.List. I realise that the client only sees a page of data at a time. But on the server, the entire List must be loaded into memory which may cause OutOfMemoryErrors for large collections. The GridDataSource (or similar interface that supports serverside paging) is the more scalable solution. Please correct me if I'm wrong… I only had a quick look through the source code.
Re: loop pagination - T5 Bootstrap
Great, you saved my day! Thank you, guys!If you are using the tapestry-bootstrap module your tml will be somethinglike this"thumbnail">${work.title} On Sun, May 5, 2013 at 1:46 PM, Lance Java wrote:> The only core tapestry component which supports paging is the grid. If> you're rendering a table, then use a grid>> http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Grid.html>> If you'd an example of a custom paging, take a look at my gallery component> in tapestry-stitch which supports next and previous pages... this could> easily be tweaked for page 1,2,3 etc.> http://tapestry-stitch.uklance.cloudbees.net/gallerydemo>> Note that my example uses it's own interface for paging (ie> GalleryDataModel). I'd recommend using tapestry's GridDataModel instead so> that you can take advantage of the HibernateGridDataModel and also> tapestry's built in type coercion from Collection/Array to GridDataModel.>>>> On 5 May 2013 18:19, Jan Fryblik wrote:>> > **> >> > Hi guys,> >> > I using Tapestry 5 and Tapestry Bootstrap and i tried to apply pagination> > on loop component. I`m using it like that...> >> > > > ...> > > >> >> > but it doesn't render any pagination, just complete list. Probably i need> > to connect it with Pagination component, but i don't know how. Could you> > please tell me, what i've missed? Best with an example, thanks in> advance.> >> > BR,> > Jan> >> > --> >> > *> > *> > *Mgr. Jan Fryblík*> > +420 739 094 784> > jan.fryb...@ebrothers.cz> >> > *eBrothers Software s.r.o. | www.ebrothers.cz*> >>
Re: loop pagination - T5 Bootstrap
If you are using the tapestry-bootstrap module your tml will be something like this ${work.title} On Sun, May 5, 2013 at 1:46 PM, Lance Java wrote: > The only core tapestry component which supports paging is the grid. If > you're rendering a table, then use a grid > > http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Grid.html > > If you'd an example of a custom paging, take a look at my gallery component > in tapestry-stitch which supports next and previous pages... this could > easily be tweaked for page 1,2,3 etc. > http://tapestry-stitch.uklance.cloudbees.net/gallerydemo > > Note that my example uses it's own interface for paging (ie > GalleryDataModel). I'd recommend using tapestry's GridDataModel instead so > that you can take advantage of the HibernateGridDataModel and also > tapestry's built in type coercion from Collection/Array to GridDataModel. > > > > On 5 May 2013 18:19, Jan Fryblik wrote: > > > ** > > > > Hi guys, > > > > I using Tapestry 5 and Tapestry Bootstrap and i tried to apply pagination > > on loop component. I`m using it like that... > > > > > > ... > > > > > > > > but it doesn't render any pagination, just complete list. Probably i need > > to connect it with Pagination component, but i don't know how. Could you > > please tell me, what i've missed? Best with an example, thanks in > advance. > > > > BR, > > Jan > > > > -- > > > > * > > * > > *Mgr. Jan Fryblík* > > +420 739 094 784 > > jan.fryb...@ebrothers.cz > > > > *eBrothers Software s.r.o. | www.ebrothers.cz* > > >
Re: loop pagination - T5 Bootstrap
The only core tapestry component which supports paging is the grid. If you're rendering a table, then use a grid http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Grid.html If you'd an example of a custom paging, take a look at my gallery component in tapestry-stitch which supports next and previous pages... this could easily be tweaked for page 1,2,3 etc. http://tapestry-stitch.uklance.cloudbees.net/gallerydemo Note that my example uses it's own interface for paging (ie GalleryDataModel). I'd recommend using tapestry's GridDataModel instead so that you can take advantage of the HibernateGridDataModel and also tapestry's built in type coercion from Collection/Array to GridDataModel. On 5 May 2013 18:19, Jan Fryblik wrote: > ** > > Hi guys, > > I using Tapestry 5 and Tapestry Bootstrap and i tried to apply pagination > on loop component. I`m using it like that... > > > ... > > > > but it doesn't render any pagination, just complete list. Probably i need > to connect it with Pagination component, but i don't know how. Could you > please tell me, what i've missed? Best with an example, thanks in advance. > > BR, > Jan > > -- > > * > * > *Mgr. Jan Fryblík* > +420 739 094 784 > jan.fryb...@ebrothers.cz > > *eBrothers Software s.r.o. | www.ebrothers.cz* >
loop pagination - T5 Bootstrap
Hi guys,I using Tapestry 5 and Tapestry Bootstrap and i tried to apply pagination on loop component. I`m using it like that..but it doesn't render any pagination, just complete list. Probably i need to connect it with Pagination component, but i don't know how. Could you please tell me, what i've missed? Best with an example, thanks in advance.BR,Jan--Mgr. Jan Fryblík+420 739 094 784 jan.fryb...@ebrothers.czeBrothers Software s.r.o. | www.ebrothers.cz
Grid Ajax Failiure with Pagination.
Hi, I have created a simple that submits and ajax renders a form. This fails with two causes. First my code ` View <#> Here is my backing java class public class Teller { @Property @Persist private String recipientId; @Property @Persist private String recipientName; @Property @Persist private String recipientAmount; @InjectComponent Zone searchTransactionZone; @Inject private Request request; @Persist @Property private ArrayList transactions; @Property private Transactions transaction; @Property private BeanModel transactionGridModel; @Inject private BeanModelSource beanModelSource; @Inject private Messages messages; void setupRender() { transactionGridModel = beanModelSource.createDisplayModel(Transactions.class, messages); transactionGridModel.add("action", null); transactionGridModel.include("dateOfTransactions","sendersName" ,"sendersStateCountry", "action"); transactionGridModel.get("dateOfTransactions").label("Date Of Transaction"); transactionGridModel.get("sendersName").label("Sender's name"); transactionGridModel.get("sendersStateCountry").label("Sender's state/country"); transactions=new ArrayList(); } @Log public Object onSubmitFromSearchTransactionsForm() { transactions=new ArrayList(); for(int i=0;i<10;i++) { Transactions a=new Transactions(); transactions.add(a); } return request.isXHR()?searchTransactionZone.getBody():null; } } and my POJO class public class Transactions { private String dateOfTransactions; private String transactionId; private String recipientName; private String recipientPhoneNumber; private String sendersName; private String sendersStateCountry; public Transactions() { } public String getDateOfTransactions() { return dateOfTransactions; } public void setDateOfTransactions(String dateOfTransactions) { this.dateOfTransactions = dateOfTransactions; } public String getTransactionId() { return transactionId; } public void setTransactionId(String transactionId) { this.transactionId = transactionId; } public String getRecipientName() { return recipientName; } public void setRecipientName(String recipientName) { this.recipientName = recipientName; } public String getRecipientPhoneNumber() { return recipientPhoneNumber; } public void setRecipientPhoneNumber(String recipientPhoneNumber) { this.recipientPhoneNumber = recipientPhoneNumber; } public String getSendersName() { return sendersName; } public void setSendersName(String sendersName) { this.sendersName = sendersName; } public String getSendersStateCountry() { return sendersStateCountry; } public void setSendersStateCountry(String sendersStateCountry) { this.sendersStateCountry = sendersStateCountry; } } Now if i do not include the t:model="transactionGridModel" and remove the code from the render portion, the grid gets displayed. However if i place in pagination then clicking the second page the grid data disappears. If i refresh the page, the data is displayed again. What am i doing wrong ? Kind Regards -- View this message in context: http://tapestry.1045711.n5.nabble.com/Grid-Ajax-Failiure-with-Pagination-tp5717651.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Calling fnStandingRedraw to retain the current pagination settings using javaScriptSupport.addInitializerCall
Thanks Paul! I was beginning to feel like the step child here! I was able to work around the issue by setting the "bStateSave" parameter to "true" in my JSONObject controlling my dataTable Options... This causes a cookie to save the state of my datatable after any updates (http://www.datatables.net/ref#bStateSave) However, my original plan of attack is still not working and I know this issue is going to come up again. I believe you are right that I am using .addInitializerCall unnecessarily. I was able to make a call using javaScriptSupport.addScript("fnStandingRedraw();"); just like you suggested however now I think the problem is in how I am setting up my javascript file. Here is the JavaScript that I placed in a separate file: $.fn.dataTableExt.oApi.fnStandingRedraw = function(oSettings) { //redraw to account for filtering and sorting // concept here is that (for client side) there is a row got inserted at the end (for an add) // or when a record was modified it could be in the middle of the table // that is probably not supposed to be there - due to filtering / sorting // so we need to re process filtering and sorting // BUT - if it is server side - then this should be handled by the server - so skip this step if(oSettings.oFeatures.bServerSide === false){ var before = oSettings._iDisplayStart; oSettings.oApi._fnReDraw(oSettings); //iDisplayStart has been reset to zero - so lets change it back oSettings._iDisplayStart = before; oSettings.oApi._fnCalculateEnd(oSettings); } //draw the 'current' page oSettings.oApi._fnDraw(oSettings); }; Not really a js guy (yet) so I'm wondering if there is some sort of Tapestry namespace that I should be to or something else i'm not seeing Thanks! -- View this message in context: http://tapestry.1045711.n5.nabble.com/Calling-fnStandingRedraw-to-retain-the-current-pagination-settings-using-javaScriptSupport-addInitial-tp5615771p5618718.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Calling fnStandingRedraw to retain the current pagination settings using javaScriptSupport.addInitializerCall
Have you tried javaScriptSupport.addScriptCall("fnStandingRedraw();"); instead? I'm not sure if fnStandingRedraw is in fact a simple javascript method or a valid initializer. p. On 4/04/2012 2:39 AM, russellJB wrote: Hello All! I am using the CreateEventLink method of the ComponentResources class to create a link to a delete event on my page called UserList using the following: "resources.createEventLink("delete", user.getUserId()).toURI();" The UserList page uses datatables to create a list of user's data and a delete link. When the delete link is clicked, the delete event is called on the same page and everyone is happy. The problem is the datatable goes back to the first page of records after a user is deleted. For example, if I am on page 5 of my datatable, on the UserList page, and I click delete it will stay on the Userlist page, but my datatable will reset itself to the first page. After some research I haved discovered that the fnStandingRedraw plugin from datatables will fix this issue: http://datatables.net/plug-ins/api Going through the documentation I have learned that I should use: javaScriptSupport.addInitializerCall("fnStandingRedraw", ""); to call the following in js file via an Import notation: Tapestry.Initializer.fnStandingRedraw = function(oSettings) { //redraw to account for filtering and sorting // concept here is that (for client side) there is a row got inserted at the end (for an add) // or when a record was modified it could be in the middle of the table // that is probably not supposed to be there - due to filtering / sorting // so we need to re process filtering and sorting // BUT - if it is server side - then this should be handled by the server - so skip this step if(oSettings.oFeatures.bServerSide === false){ var before = oSettings._iDisplayStart; oSettings.oApi._fnReDraw(oSettings); //iDisplayStart has been reset to zero - so lets change it back oSettings._iDisplayStart = before; oSettings.oApi._fnCalculateEnd(oSettings); } //draw the 'current' page oSettings.oApi._fnDraw(oSettings); }; However I get the error: Uncaught TypeError: Cannot read property 'bServerSide' of undefined Tapestry.Initializer.fnStandingRedrawhelpdesk.js:16 $.extend.inittapestry-jquery.js:32 jQuery.extend.eachjquery-1.6.2.js:655 $.extend.inittapestry-jquery.js:26 jQuery.extend.eachjquery-1.6.2.js:649 $.extend.inittapestry-jquery.js:18 (anonymous function)list:70 jQuery.extend._Deferred.deferred.resolveWithjquery-1.6.2.js:1008 jQuery.extend.readyjquery-1.6.2.js:436 DOMContentLoadedjquery-1.6.2.js:915 Any guidance would be most appreciated...Thanks in advance!! -- View this message in context: http://tapestry.1045711.n5.nabble.com/Calling-fnStandingRedraw-to-retain-the-current-pagination-settings-using-javaScriptSupport-addInitial-tp5615771p5615771.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Calling fnStandingRedraw to retain the current pagination settings using javaScriptSupport.addInitializerCall
Hello All! I am using the CreateEventLink method of the ComponentResources class to create a link to a delete event on my page called UserList using the following: "resources.createEventLink("delete", user.getUserId()).toURI();" The UserList page uses datatables to create a list of user's data and a delete link. When the delete link is clicked, the delete event is called on the same page and everyone is happy. The problem is the datatable goes back to the first page of records after a user is deleted. For example, if I am on page 5 of my datatable, on the UserList page, and I click delete it will stay on the Userlist page, but my datatable will reset itself to the first page. After some research I haved discovered that the fnStandingRedraw plugin from datatables will fix this issue: http://datatables.net/plug-ins/api Going through the documentation I have learned that I should use: javaScriptSupport.addInitializerCall("fnStandingRedraw", ""); to call the following in js file via an Import notation: Tapestry.Initializer.fnStandingRedraw = function(oSettings) { //redraw to account for filtering and sorting // concept here is that (for client side) there is a row got inserted at the end (for an add) // or when a record was modified it could be in the middle of the table // that is probably not supposed to be there - due to filtering / sorting // so we need to re process filtering and sorting // BUT - if it is server side - then this should be handled by the server - so skip this step if(oSettings.oFeatures.bServerSide === false){ var before = oSettings._iDisplayStart; oSettings.oApi._fnReDraw(oSettings); //iDisplayStart has been reset to zero - so lets change it back oSettings._iDisplayStart = before; oSettings.oApi._fnCalculateEnd(oSettings); } //draw the 'current' page oSettings.oApi._fnDraw(oSettings); }; However I get the error: Uncaught TypeError: Cannot read property 'bServerSide' of undefined Tapestry.Initializer.fnStandingRedrawhelpdesk.js:16 $.extend.inittapestry-jquery.js:32 jQuery.extend.eachjquery-1.6.2.js:655 $.extend.inittapestry-jquery.js:26 jQuery.extend.eachjquery-1.6.2.js:649 $.extend.inittapestry-jquery.js:18 (anonymous function)list:70 jQuery.extend._Deferred.deferred.resolveWithjquery-1.6.2.js:1008 jQuery.extend.readyjquery-1.6.2.js:436 DOMContentLoadedjquery-1.6.2.js:915 Any guidance would be most appreciated...Thanks in advance!! -- View this message in context: http://tapestry.1045711.n5.nabble.com/Calling-fnStandingRedraw-to-retain-the-current-pagination-settings-using-javaScriptSupport-addInitial-tp5615771p5615771.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Pagination Component
Also forgot to mention, that the grid component already has pagination that is customizable + lazyloading, sorting etc. http://tapestry.apache.org/current/tapestry-core/ref/org/apache/tapestry5/corelib/components/Grid.html - Ville -- View this message in context: http://tapestry.1045711.n5.nabble.com/Pagination-Component-tp4455142p4456052.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Pagination Component
Page has context, component has parameters. Component should NOT care nor know the page it is in, to promote real componentization. It is not the job of the component to decode the parameters from web, the page should do that. And then the page should forward the context as parameters to the component. The page can also contain lots of other state that the component is not interested of and the same component could be used from several pages that have different context encoding schemes. - Ville -- View this message in context: http://tapestry.1045711.n5.nabble.com/Pagination-Component-tp4455142p4456045.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Pagination Component
Short version of my question: What is the best way to setup things from the context in a component. I tried using: Object onActivate(EventContext context) { // Do stuff with context } But onActivate doesn't seem to get called on a component on a page. Is there a different method to get the context from within a component on a page? -- Longer version of what I'm trying to accomplish, just in case I'm overlooking some built in functionality: I have an app that needs to display paginated data for several different pages. So lets say we have pages named: /tag /author /category They may be called like this: /tag/foo/1 (the first page of a list of items assigned tag foo) /author/25/1 (list of items authored by author with id 25) /category/15/1 (list of items assigned to category with id 15) The first item in the context is the ID of the author, tag or category and the second is the page to display. My goal was to create a pagination component that could be used on any of these pages. So I was going to use onActivate on the page to get the first context item (the id) and onActivate in the component to get the second context (the page number). The page would handle the db lookup and simply pass a list of all possible items to the component. So the page would be responsible for getting the right list of items, but all the logic for what objects to display on a particular page would be in the component. The two problems I've run into: 1. I can't seem to get the EventContext from within the component as onActivate doesn't appear to be called on the component. I could get it in the page and simply pass it to the component, but then I have pagination code in the page which is what I was trying to avoid. 2. The component still needs to know page it is on and has to grab the first context item in order to render the links to the other pages using a page link. What I want is something that says: "Give me a link to the current page and let me just change the last context item to build a new page link." Thanks for any suggestions. Mark - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Regarding Pagination
Hi Sarav, Tapestry has Grid<http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Grid.html> but it cannot be customized to your particular case. There is Loop<http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Loop.html>, which can be customized in whichever way you want but it does not have pagination support. And finally there is PagedLoop<http://www.chenillekit.org/chenillekit-tapestry/ref/org/chenillekit/tapestry/core/components/PagedLoop.html> (not a core component) which have flexibility of loop and supports pagination too. regards Taha On Thu, Apr 21, 2011 at 2:36 AM, sarov saravanan wrote: > Hi, >Can any one provide me some examples of how to use > pagination(customized) in tapestry which full fill the following use case. > > - The page should contain list on items (each item has price, detail of > item and a link). > - whole page is displayed as a table and row which has few nested tables > and row inside it. > ex: xxx > > - I need a customized pagination to display the items: > ex: < PREV > 1 | 2 | 3 | 4 | > 5 > NEXT> > > which may be completely in separate table with different background colors > etc. > > Any help will be appreciated. > > Thanks! > > with regards, > Sarav > >
Regarding Pagination
Hi, Can any one provide me some examples of how to use pagination(customized) in tapestry which full fill the following use case. - The page should contain list on items (each item has price, detail of item and a link). - whole page is displayed as a table and row which has few nested tables and row inside it. ex: xxx - I need a customized pagination to display the items: ex: < PREV 1 | 2 | 3 | 4 | 5 NEXT > which may be completely in separate table with different background colors etc. Any help will be appreciated. Thanks! with regards, Sarav
Re: Grid pagination ajax loading gif
Hi, Here is a related question which I think can be used in your case http://tapestry.1045711.n5.nabble.com/T5-2-Zone-loading-progress-icon-td3207615.html <http://tapestry.1045711.n5.nabble.com/T5-2-Zone-loading-progress-icon-td3207615.html> regards Taha 2011/4/10 Sérgio Esteves > Hi all, > > I have a grid component with pagination in place. When I navigate through > pages it takes awhile, so I was trying to give some feedback to the user by > displaying an ajax loading gif. Albeit, I have no idea on how to do that, so > I would appreciate if anyone could give me some pointers. > > Regards. >
Grid pagination ajax loading gif
Hi all, I have a grid component with pagination in place. When I navigate through pages it takes awhile, so I was trying to give some feedback to the user by displaying an ajax loading gif. Albeit, I have no idea on how to do that, so I would appreciate if anyone could give me some pointers. Regards.
Re: pagination
Thanks HLS , I appreciate the quick response. I have already implemented a simple case and its working. I am reading the user guide to make sure that i dont miss anything out. Josh. On Thu, Feb 24, 2011 at 11:46 PM, Howard Lewis Ship wrote: > If you look at the source parameter of the Grid, it is a > GridDataSource object. You can bind a List to the source parameter, > and Tapestry takes care of converting the list to a GridDataSource, > but for large result sets from a database, you really want to use the > GridDataSource interface, because it supports sorting and pagination > in the database. > > On Thu, Feb 24, 2011 at 11:53 AM, Josh Kamau > wrote: > > Hi Users; > > > > How does tapestry do the pagination on a grid? Does it retrieve all the > data > > from the database and then does the pagination on the clientside or does > it > > retrieve a page at a time from the database? > > > > I have used wicket before and all i did was implement something like > > getIterator(first, count, sortProperty, isAscending), That way, the way > the > > data is retrieved is transparent and i can write a dao that gets each > page > > at a time without loading all the records. Is there a way to achieve the > > same with tapestry. I mean , is there a way to load a page at a time from > > the database using tapestry pagination. > > > > Kind regards. > > Josh. > > > > > > -- > Howard M. Lewis Ship > > Creator of Apache Tapestry > > The source for Tapestry training, mentoring and support. Contact me to > learn how I can get you up and productive in Tapestry fast! > > (971) 678-5210 > http://howardlewisship.com > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: pagination
If you look at the source parameter of the Grid, it is a GridDataSource object. You can bind a List to the source parameter, and Tapestry takes care of converting the list to a GridDataSource, but for large result sets from a database, you really want to use the GridDataSource interface, because it supports sorting and pagination in the database. On Thu, Feb 24, 2011 at 11:53 AM, Josh Kamau wrote: > Hi Users; > > How does tapestry do the pagination on a grid? Does it retrieve all the data > from the database and then does the pagination on the clientside or does it > retrieve a page at a time from the database? > > I have used wicket before and all i did was implement something like > getIterator(first, count, sortProperty, isAscending), That way, the way the > data is retrieved is transparent and i can write a dao that gets each page > at a time without loading all the records. Is there a way to achieve the > same with tapestry. I mean , is there a way to load a page at a time from > the database using tapestry pagination. > > Kind regards. > Josh. > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: pagination
On Thu, 24 Feb 2011 17:16:27 -0300, Josh Kamau wrote: Thanks guys. :) I will implement the GridDataSource. I didnt know it existed. It's in the Grid component reference as the type of the source parameter. Thiago, for some personal reasons, i prefer using mybatis(formerly ibatis) as opposed to hibernate (i had a very bad experience with hibernate in a live environment, most of it caused by my limited understanding of hibernate advanced features.) Even using a different ORM framework, it still can be used as an example. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: pagination
Thanks guys. I will implement the GridDataSource. I didnt know it existed. Thiago, for some personal reasons, i prefer using mybatis(formerly ibatis) as opposed to hibernate (i had a very bad experience with hibernate in a live environment, most of it caused by my limited understanding of hibernate advanced features.) Josh. ps: am eagerly waiting for the T5 in action book. On Thu, Feb 24, 2011 at 11:12 PM, Thiago H. de Paula Figueiredo < thiag...@gmail.com> wrote: > On Thu, 24 Feb 2011 17:00:33 -0300, Howard Lewis Ship > wrote: > > If you look at the source parameter of the Grid, it is a >> GridDataSource object. You can bind a List to the source parameter, >> and Tapestry takes care of converting the list to a GridDataSource, >> but for large result sets from a database, you really want to use the >> GridDataSource interface, because it supports sorting and pagination >> in the database. >> > > In addition, take a look at the HibernateGridDataSource class from > tapestry-hibernate. > > -- > Thiago H. de Paula Figueiredo > Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, > and instructor > Owner, Ars Machina Tecnologia da Informação Ltda. > http://www.arsmachina.com.br > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: pagination
On Thu, 24 Feb 2011 17:00:33 -0300, Howard Lewis Ship wrote: If you look at the source parameter of the Grid, it is a GridDataSource object. You can bind a List to the source parameter, and Tapestry takes care of converting the list to a GridDataSource, but for large result sets from a database, you really want to use the GridDataSource interface, because it supports sorting and pagination in the database. In addition, take a look at the HibernateGridDataSource class from tapestry-hibernate. -- Thiago H. de Paula Figueiredo Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor Owner, Ars Machina Tecnologia da Informação Ltda. http://www.arsmachina.com.br - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: pagination
Also have a look at Tapestry's Hibernate integration [1] which supplies a HibernateGridDataSource [2] that implements pagination and only fetches the necessary objects from the database. Uli [1] http://tapestry.apache.org/hibernate.html [2] http://tapestry.apache.org/tapestry5.2-dev/apidocs/org/apache/tapestry5/hibernate/HibernateGridDataSource.html On 24.02.2011 21:00, Howard Lewis Ship wrote: > If you look at the source parameter of the Grid, it is a > GridDataSource object. You can bind a List to the source parameter, > and Tapestry takes care of converting the list to a GridDataSource, > but for large result sets from a database, you really want to use the > GridDataSource interface, because it supports sorting and pagination > in the database. > > On Thu, Feb 24, 2011 at 11:53 AM, Josh Kamau wrote: >> Hi Users; >> >> How does tapestry do the pagination on a grid? Does it retrieve all the data >> from the database and then does the pagination on the clientside or does it >> retrieve a page at a time from the database? >> >> I have used wicket before and all i did was implement something like >> getIterator(first, count, sortProperty, isAscending), That way, the way the >> data is retrieved is transparent and i can write a dao that gets each page >> at a time without loading all the records. Is there a way to achieve the >> same with tapestry. I mean , is there a way to load a page at a time from >> the database using tapestry pagination. >> >> Kind regards. >> Josh. >> > > > - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: pagination
If you look at the source parameter of the Grid, it is a GridDataSource object. You can bind a List to the source parameter, and Tapestry takes care of converting the list to a GridDataSource, but for large result sets from a database, you really want to use the GridDataSource interface, because it supports sorting and pagination in the database. On Thu, Feb 24, 2011 at 11:53 AM, Josh Kamau wrote: > Hi Users; > > How does tapestry do the pagination on a grid? Does it retrieve all the data > from the database and then does the pagination on the clientside or does it > retrieve a page at a time from the database? > > I have used wicket before and all i did was implement something like > getIterator(first, count, sortProperty, isAscending), That way, the way the > data is retrieved is transparent and i can write a dao that gets each page > at a time without loading all the records. Is there a way to achieve the > same with tapestry. I mean , is there a way to load a page at a time from > the database using tapestry pagination. > > Kind regards. > Josh. > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
pagination
Hi Users; How does tapestry do the pagination on a grid? Does it retrieve all the data from the database and then does the pagination on the clientside or does it retrieve a page at a time from the database? I have used wicket before and all i did was implement something like getIterator(first, count, sortProperty, isAscending), That way, the way the data is retrieved is transparent and i can write a dao that gets each page at a time without loading all the records. Is there a way to achieve the same with tapestry. I mean , is there a way to load a page at a time from the database using tapestry pagination. Kind regards. Josh.
supressing rowsPerPage / pagination in grid component
Is there any way in Tapestry 5 to suppress pagination for a gird component? I have a requirement to display a grid with the full list regardless of it's length. I tried rowsPerPage=0 but got a divide by zero error. I don't really want to copy the value of Integer.MAX_VALUE into that field ;-) thanks scot -- let x=x - http://crazymcphee.net/x/ xray dubs - http://autonomous.org/music/ - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Pagination component for Tapestry4
Hello! I'm working on one project with Tapestry 4 which makes heavy use of paginated lists. They are at least 10 lists of different items in project. This paginated lists have coulumns, optional filter and sorting upon some columns. I though of this in this way: Application service returns a list of domain objects. Each domain object can have tapestry component implemented. i.e. : Class CustomerBean { String firstName; String lastName; String phoneNumber; //getters, setters, constructor } CustomerBeanComponent: Template: Specification: Now PaginationComponent should take the List and iterate over this list with rendering of it's body component. This is similar behaviour like For component but I would need pagination, filters and columns in PaginationComponent. Can you give me some guidelines how to implement this component and do you think is it possible at all? Thanks!
Re: Grid Pagination And onActivate()
I've fixed this. There was no problem with pagination at all, but with relative links, again! On Sun, Mar 29, 2009 at 2:17 PM, Davor Miku wrote: > I've added opPasivate() but still, no difference. > > > Pay attention: > > > So when you go to www.example/archive/news page > > you'll get grid showing articles from news category. > > > > Problem: > > > > When you click on page number, i.e. 4 you'll get : > > > > "There is no data to display." > > > > message, and URL will be www.example/archive > > > > When I go back to www.example/archive/news, 4th page will show. > > > > > > On Sun, Mar 29, 2009 at 3:35 AM, Scott Russell wrote: > >> I think the problem is that you have persisted the category name, but not >> the list of news articles that the grid is using, so when the second page is >> requested, no data is available to display. >> >> Try either >> a) adding @Persist to your list of data items your grid is displaying, or >> b) load the list of data items within onActivate. >> >> Also, if you use onActivate, it is also a good idea to pair it with >> onPassivate, as follows: >> >> public String onPassivate() { >>return currentCategoryName; >> } >> >> If you do that, you could probably even ditch the @Persist tag on the >> currentCategoryName field, as the activation context is passed around in the >> url. >> >> cheers, >> Scott >> >> >> On Sun, 29 Mar 2009 12:57:32 Davor Miku wrote: >> > Hello! >> > >> > I have component witch takes one parameter and based on it >> > shows Grid component. >> > >> > In page Archive, I have : >> > >> > public class Archive >> > { >> > >> > @Persist >> > private String currentCategoryName; >> > >> > public void onActivate(String currentCategoryName) { >> > this.currentCategoryName = currentCategoryName; >> > } >> > } >> > >> > >> > In Archive.tml: >> > >> > >> > >> > >> > So when you go to www.example/archive/news page >> > you'll get grid showing articles from news category. >> > >> > Problem: >> > >> > When you click on page number, i.e. 4 you'll get : >> > >> > "There is no data to display." >> > >> > message, and URL will be www.example/archive >> > >> > When I go back to www.example/archive, 4th page will show. >> > >> > >> > >> > Is there any way to fix this? >> > >> >> >> >> - >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >
Re: Grid Pagination And onActivate()
I've added opPasivate() but still, no difference. Pay attention: > So when you go to www.example/archive/news page > you'll get grid showing articles from news category. > > Problem: > > When you click on page number, i.e. 4 you'll get : > > "There is no data to display." > > message, and URL will be www.example/archive > > When I go back to www.example/archive/news, 4th page will show. On Sun, Mar 29, 2009 at 3:35 AM, Scott Russell wrote: > I think the problem is that you have persisted the category name, but not > the list of news articles that the grid is using, so when the second page is > requested, no data is available to display. > > Try either > a) adding @Persist to your list of data items your grid is displaying, or > b) load the list of data items within onActivate. > > Also, if you use onActivate, it is also a good idea to pair it with > onPassivate, as follows: > > public String onPassivate() { >return currentCategoryName; > } > > If you do that, you could probably even ditch the @Persist tag on the > currentCategoryName field, as the activation context is passed around in the > url. > > cheers, > Scott > > > On Sun, 29 Mar 2009 12:57:32 Davor Miku wrote: > > Hello! > > > > I have component witch takes one parameter and based on it > > shows Grid component. > > > > In page Archive, I have : > > > > public class Archive > > { > > > > @Persist > > private String currentCategoryName; > > > > public void onActivate(String currentCategoryName) { > > this.currentCategoryName = currentCategoryName; > > } > > } > > > > > > In Archive.tml: > > > > > > > > > > So when you go to www.example/archive/news page > > you'll get grid showing articles from news category. > > > > Problem: > > > > When you click on page number, i.e. 4 you'll get : > > > > "There is no data to display." > > > > message, and URL will be www.example/archive > > > > When I go back to www.example/archive, 4th page will show. > > > > > > > > Is there any way to fix this? > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >
Re: Grid Pagination And onActivate()
I think the problem is that you have persisted the category name, but not the list of news articles that the grid is using, so when the second page is requested, no data is available to display. Try either a) adding @Persist to your list of data items your grid is displaying, or b) load the list of data items within onActivate. Also, if you use onActivate, it is also a good idea to pair it with onPassivate, as follows: public String onPassivate() { return currentCategoryName; } If you do that, you could probably even ditch the @Persist tag on the currentCategoryName field, as the activation context is passed around in the url. cheers, Scott On Sun, 29 Mar 2009 12:57:32 Davor Miku wrote: > Hello! > > I have component witch takes one parameter and based on it > shows Grid component. > > In page Archive, I have : > > public class Archive > { > > @Persist > private String currentCategoryName; > > public void onActivate(String currentCategoryName) { > this.currentCategoryName = currentCategoryName; > } > } > > > In Archive.tml: > > > > > So when you go to www.example/archive/news page > you'll get grid showing articles from news category. > > Problem: > > When you click on page number, i.e. 4 you'll get : > > "There is no data to display." > > message, and URL will be www.example/archive > > When I go back to www.example/archive, 4th page will show. > > > > Is there any way to fix this? > - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: Grid Pagination And onActivate()
Davor Miku wrote: > > Hello! > > I have component witch takes one parameter and based on it > shows Grid component. > > In page Archive, I have : > > public class Archive > { > > @Persist > private String currentCategoryName; > > public void onActivate(String currentCategoryName) { > this.currentCategoryName = currentCategoryName; > } > } > > > In Archive.tml: > > > > > So when you go to www.example/archive/news page > you'll get grid showing articles from news category. > > Problem: > > When you click on page number, i.e. 4 you'll get : > > "There is no data to display." > > message, and URL will be www.example/archive > > When I go back to www.example/archive, 4th page will show. > > > > Is there any way to fix this? > > using @Persist("flash") instead of @Perisist or remove @Persist and set tapestry.suppress-redirect-from-action-requests to true. It not a good way.see http://tapestry.apache.org/tapestry5.1/guide/conf.html thanks luna -- View this message in context: http://www.nabble.com/Grid-Pagination-And-onActivate%28%29-tp22763914p22764357.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Grid Pagination And onActivate()
Hello! I have component witch takes one parameter and based on it shows Grid component. In page Archive, I have : public class Archive { @Persist private String currentCategoryName; public void onActivate(String currentCategoryName) { this.currentCategoryName = currentCategoryName; } } In Archive.tml: So when you go to www.example/archive/news page you'll get grid showing articles from news category. Problem: When you click on page number, i.e. 4 you'll get : "There is no data to display." message, and URL will be www.example/archive When I go back to www.example/archive, 4th page will show. Is there any way to fix this?
Re: How to implement Pagination in T5
You may want to look at the pagedLoop component from the t5components project - here<http://87.193.218.134:8080/t5components/t5c-commons/ref/org/apache/tapestry/commons/components/PagedLoop.html> Toby 2008/9/2 Howard Lewis Ship <[EMAIL PROTECTED]> > You'll need to create your own component, a cross between Loop and Grid. > > On Tue, Sep 2, 2008 at 7:47 AM, Yeeswara Nadapana (HCL Financial > Services) <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > > > > > I have a bunch of records which I display using the . I am NOT > > using the GRID component. Is there any way I can implement pagination on > > the loop of data I display? Can anyone help on this? > > > > > > > > Regards, > > > > Yeeswar > > > > > > > > > > > > DISCLAIMER: > > > --- > > > > The contents of this e-mail and any attachment(s) are confidential and > intended for the named recipient(s) only. > > It shall not attach any liability on the originator or HCL or its > affiliates. Any views or opinions presented in > > this email are solely those of the author and may not necessarily reflect > the opinions of HCL or its affiliates. > > Any form of reproduction, dissemination, copying, disclosure, > modification, distribution and / or publication of > > this message without the prior written consent of the author of this > e-mail is strictly prohibited. If you have > > received this email in error please delete it and notify the sender > immediately. Before opening any mail and > > attachments please check them for viruses and defect. > > > > > --- > > > > -- > Howard M. Lewis Ship > > Creator Apache Tapestry and Apache HiveMind > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
Re: How to implement Pagination in T5
You'll need to create your own component, a cross between Loop and Grid. On Tue, Sep 2, 2008 at 7:47 AM, Yeeswara Nadapana (HCL Financial Services) <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I have a bunch of records which I display using the . I am NOT > using the GRID component. Is there any way I can implement pagination on > the loop of data I display? Can anyone help on this? > > > > Regards, > > Yeeswar > > > > > > DISCLAIMER: > --- > > The contents of this e-mail and any attachment(s) are confidential and > intended for the named recipient(s) only. > It shall not attach any liability on the originator or HCL or its affiliates. > Any views or opinions presented in > this email are solely those of the author and may not necessarily reflect the > opinions of HCL or its affiliates. > Any form of reproduction, dissemination, copying, disclosure, modification, > distribution and / or publication of > this message without the prior written consent of the author of this e-mail > is strictly prohibited. If you have > received this email in error please delete it and notify the sender > immediately. Before opening any mail and > attachments please check them for viruses and defect. > > --- -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How to implement Pagination in T5
Hi, I have a bunch of records which I display using the . I am NOT using the GRID component. Is there any way I can implement pagination on the loop of data I display? Can anyone help on this? Regards, Yeeswar DISCLAIMER: --- The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only. It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately. Before opening any mail and attachments please check them for viruses and defect. ---
Re: t5: Hibernate resultset with pagination
Hi Bill, This is a good idea, will give it a try, thanks. Angelo Bill Holloway wrote: > > Hi Angelo, I achieve custom paging for anything that uses a tapestry > loop (or anything that needs a list per page) starting with this > abstract class: > > public abstract class PagingResults > { > protected int _page; > > > -- View this message in context: http://www.nabble.com/t5%3A-Hibernate-resultset-with-pagination-tp19247842p19265676.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: t5: Hibernate resultset with pagination
Hi Angelo, I achieve custom paging for anything that uses a tapestry loop (or anything that needs a list per page) starting with this abstract class: public abstract class PagingResults { protected int _page; protected int _resultsPerPage; public PagingResults (int resultsPerPage) { _page = 1; _resultsPerPage = resultsPerPage; } public List getCurrentPage () throws Exception { List pageOfResults = getResultsStartingAt( (_page - 1) * _resultsPerPage, _resultsPerPage); return pageOfResults; } public void incrementPage () { if (_page < lastPage()) _page++; } public void decrementPage () { if (_page > 1) _page--; } public void toLastPage () { _page = lastPage(); } public int lastPage () { return (int)Math.ceil((double)getTotalResults()/(double)_resultsPerPage); } public void reset () { _page = 1; } public int getPage () { return _page; } public int getResultsPerPage () { return _resultsPerPage; } public abstract List getResultsStartingAt (int start, int numToGet) throws Exception; public abstract long getTotalResults (); } This class' getCurrentPage() method returns a "sublist" of the total list for use in the loop, etc. Subclasses of this define the getResultsStartingAt() and the total number of results. I usually define subclasses of PagingResults as simple inner classes of my page/component classes where the services I need are injected. I have a companion component to this: public class Pager { @Parameter (required = true) private PagingResults _pagingResults; @Inject private Messages _messages; @Inject private ComponentResources _resources; void onActionFromToFirst () { _pagingResults.reset(); } void onActionFromToPrevious () { _pagingResults.decrementPage(); } void onActionFromToNext () { _pagingResults.incrementPage(); } void onActionFromToLast () { _pagingResults.toLastPage(); } public String getPagerInfo () { String s = ""; int startInd = (_pagingResults.getPage() - 1) * _pagingResults.getResultsPerPage() + 1; long endInd = (startInd + _pagingResults.getResultsPerPage() - 1 > _pagingResults.getTotalResults()) ? _pagingResults.getTotalResults() : startInd + _pagingResults.getResultsPerPage() - 1; s = startInd + "-" + endInd + " " + _messages.get("of") + " " + _pagingResults.getTotalResults(); return s; } public boolean getOnFirstPage () { return _pagingResults.getPage() == 1; } public boolean getOnLastPage () { return _pagingResults.getPage() == _pagingResults.lastPage(); } } The template for this Pager component is simple: http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";> http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> ${pagerInfo} ${message:first} | < ${message:previous.abbrev} | ${message:next} > | ${message:last} In the page/component that uses all this I have a loop (typically) with source="pagingResults.currentPage". The around the list I place the pager component which takes the same PagingResults object as a parameter. Note this is not setup for Ajax interaction, just standard action links (Http gets). Cheers, Bill On Sun, Aug 31, 2008 at 8:32 PM, Angelo Chen <[EMAIL PROTECTED]> wrote: > > Hi, > > I have a need to display some Hibernate resultset with pagination, but I > can't use T5's grid. any hint how to do this in T5? thanks. > > Angelo > -- > View this message in context: > http://www.nabble.com/t5%3A-Hibernate-resultset-with-pagination-tp19247842p19247842.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Bill @ PeoplePad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: t5: Hibernate resultset with pagination
not sure what you are trying achieve exactly paging, table, all can be simply generated even without grid but you'll need to print each column manualy, or dig deeper and use beanModel your self Davor Hrg On Mon, Sep 1, 2008 at 3:32 AM, Angelo Chen <[EMAIL PROTECTED]>wrote: > > Hi, > > I have a need to display some Hibernate resultset with pagination, but I > can't use T5's grid. any hint how to do this in T5? thanks. > > Angelo > -- > View this message in context: > http://www.nabble.com/t5%3A-Hibernate-resultset-with-pagination-tp19247842p19247842.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
t5: Hibernate resultset with pagination
Hi, I have a need to display some Hibernate resultset with pagination, but I can't use T5's grid. any hint how to do this in T5? thanks. Angelo -- View this message in context: http://www.nabble.com/t5%3A-Hibernate-resultset-with-pagination-tp19247842p19247842.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: contrib:TableView nested inside @For component causing Pagination problem
Do you know if this problem happens with contrib:Table ? On Fri, Jul 11, 2008 at 11:13 AM, Johnny Cormack <[EMAIL PROTECTED]> wrote: > > Hi, > > i am using an architecture like: > > <@For> ><@MyTable /> > > > The @MyTable is a component containing the TableView, TableColumns and the > other Table components that are needed to render a fully fledged table. > > I have 4 Tables created by this @For component. Each table points to a > specific source with e.g. 30 results. > Setting the PageSize for each table to 10 this will produce a pagination for > each table. > > When clicking in any table on the pagination links i recieve the result that > each table paginates. > > This could be a construction problem but the components are mostly plain > constructed. > > Anyone know this problem or has a solution to suggest how i can paginate on > any table without effecting the other tables. > > Regards, > Johnny > -- > View this message in context: > http://www.nabble.com/contrib%3ATableView-nested-inside-%40For-component-causing-Pagination-problem-tp18398814p18398814.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Andreas Andreou - [EMAIL PROTECTED] - http://blog.andyhot.gr Tapestry / Tacos developer Open Source / JEE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
contrib:TableView nested inside @For component causing Pagination problem
Hi, i am using an architecture like: <@For> <@MyTable /> The @MyTable is a component containing the TableView, TableColumns and the other Table components that are needed to render a fully fledged table. I have 4 Tables created by this @For component. Each table points to a specific source with e.g. 30 results. Setting the PageSize for each table to 10 this will produce a pagination for each table. When clicking in any table on the pagination links i recieve the result that each table paginates. This could be a construction problem but the components are mostly plain constructed. Anyone know this problem or has a solution to suggest how i can paginate on any table without effecting the other tables. Regards, Johnny -- View this message in context: http://www.nabble.com/contrib%3ATableView-nested-inside-%40For-component-causing-Pagination-problem-tp18398814p18398814.html Sent from the Tapestry - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Contrib:Table pagination and validation issue
I tried that, I'm pretty sure I missed something, but it did not work for a reason (at least I believe that) my ImageSubmit buttons where located around the register form. Even using Javascript (document.forms['tableForm'].submit()) for some reason, some methods like the remove all (its a table with checkboxes) did not update the rows of the table, not marking the boolean property of the rows. Gotta check that again someday :) On 10/5/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: Why don't you just have a separate form wrapping your table ? Seems like the easiest solution to me. Maybe I've missed something though. On 10/5/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > Hi there Jesse! It's a master detail page: So I have a form to > register/update Seminars, and a Table with all the Seminars registred > so far. > As any form, it has validation on many fields. So, when I get a > pagination, and the user clicks on the navigation, the page renders > with errors from the validators. > I understand (or at least I believe I did) the reason for the submit, > once it submit the form, the values are preserved through navigation. > What I was expecting is that inside the table component it would clear > my delegate from any errors so no errors should be presented since I'm > not trying to persist my Entity... > I solved this on the onchage of the PropertySelection for instance, by > adding a few lines to my onRefresh method: > getDelegate().clear(); :D > > For this issue with the Table component I removed every validator > bound to my form, and used manual validation on my listener: > > public void onSave(){ > validate(getDelegate()); > } > > private void validate(ValidationDelegate delegate){ > //validate fields, and record errors on the delegate object > } > > But would be real nice If the table component had a property like: > skipValidation="true/false" and if possible, somehow clear the > delegate / skip validation. > > Anyway I've solved the issue no problems, thanks once again for all > support. I hope this demonstrates my scenario. > > Regards > On 10/2/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > I'm not sure what the original problem was now. > > > > Can you show a clear example of what you expect vs what is happening? > > > > On 10/2/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > > > > Still stuck on this, I'm moving to the coding each validator on hand, > > > dumping the automatic validation. I'm just sad, cuz my form has a lot > > > of validators, and It's taking quite some time, I wish it had a better > > > way... > > > > > > Regards > > > > > > On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > > I belive this is the reason for the problem: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > some checkboxes nested inside > > > > > > > > > > > > > > > > > > > > problem is, when I click on the imagesubmit it submits the first > form, > > > > tried to override it by using a javascript onclick = > > > > "document.forms['tableForm'].submit()" > > > > > > > > but it seems to have no effect at all :( > > > > > > > > Any help would be real nice :) > > > > > > > > Regards > > > > > > > > On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > > > Jesse I tried this, but I'm stuck in something Im sure its a dumb > > > > > mistake from my self. Having two forms, now, the checkbox I have > on > > > > > the table does not updates the object field as it did before when > the > > > > > table was nested inside the same form as the detail form... > > > > > > > > > > Any hints? > > > > > > > > > > Regards > > > > > > > > > > On 9/28/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > > > > > Why don't you just separate the table from your other form and > have > > > two > > > > > > forms instead? Most of the form based functionality of the table > is > > > best > > > > > > realized when doing things like providing a "search" component > or > > > nesting > > > > > > form fields within table columns. (Like checkboxes
Re: Contrib:Table pagination and validation issue
Why don't you just have a separate form wrapping your table ? Seems like the easiest solution to me. Maybe I've missed something though. On 10/5/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: Hi there Jesse! It's a master detail page: So I have a form to register/update Seminars, and a Table with all the Seminars registred so far. As any form, it has validation on many fields. So, when I get a pagination, and the user clicks on the navigation, the page renders with errors from the validators. I understand (or at least I believe I did) the reason for the submit, once it submit the form, the values are preserved through navigation. What I was expecting is that inside the table component it would clear my delegate from any errors so no errors should be presented since I'm not trying to persist my Entity... I solved this on the onchage of the PropertySelection for instance, by adding a few lines to my onRefresh method: getDelegate().clear(); :D For this issue with the Table component I removed every validator bound to my form, and used manual validation on my listener: public void onSave(){ validate(getDelegate()); } private void validate(ValidationDelegate delegate){ //validate fields, and record errors on the delegate object } But would be real nice If the table component had a property like: skipValidation="true/false" and if possible, somehow clear the delegate / skip validation. Anyway I've solved the issue no problems, thanks once again for all support. I hope this demonstrates my scenario. Regards On 10/2/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > I'm not sure what the original problem was now. > > Can you show a clear example of what you expect vs what is happening? > > On 10/2/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > > Still stuck on this, I'm moving to the coding each validator on hand, > > dumping the automatic validation. I'm just sad, cuz my form has a lot > > of validators, and It's taking quite some time, I wish it had a better > > way... > > > > Regards > > > > On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > I belive this is the reason for the problem: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > some checkboxes nested inside > > > > > > > > > > > > > > > problem is, when I click on the imagesubmit it submits the first form, > > > tried to override it by using a javascript onclick = > > > "document.forms['tableForm'].submit()" > > > > > > but it seems to have no effect at all :( > > > > > > Any help would be real nice :) > > > > > > Regards > > > > > > On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > > Jesse I tried this, but I'm stuck in something Im sure its a dumb > > > > mistake from my self. Having two forms, now, the checkbox I have on > > > > the table does not updates the object field as it did before when the > > > > table was nested inside the same form as the detail form... > > > > > > > > Any hints? > > > > > > > > Regards > > > > > > > > On 9/28/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > > > > Why don't you just separate the table from your other form and have > > two > > > > > forms instead? Most of the form based functionality of the table is > > best > > > > > realized when doing things like providing a "search" component or > > nesting > > > > > form fields within table columns. (Like checkboxes ..etc...Soon to > > be > > > > > InlineEditBox s as well ) > > > > > > > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > Vinicius Carvalho wrote: > > > > > > > ouch... I guess I'll have to dump my validators ... and validate > > each > > > > > > > input on the save button, those side effects are too dangerous > > for my > > > > > > > screen. > > > > > > > > > > > > It's not as bad as it sounds. That's how Tap3 worked. > > > > > > It simply made sure that on rewind you'd iterate over the same > > elements > > > > > > you had during render - it would throw stale link exception > > otherwise. > > > > > > > > > > > > So, if that's never happ
Re: Contrib:Table pagination and validation issue
Hi there Jesse! It's a master detail page: So I have a form to register/update Seminars, and a Table with all the Seminars registred so far. As any form, it has validation on many fields. So, when I get a pagination, and the user clicks on the navigation, the page renders with errors from the validators. I understand (or at least I believe I did) the reason for the submit, once it submit the form, the values are preserved through navigation. What I was expecting is that inside the table component it would clear my delegate from any errors so no errors should be presented since I'm not trying to persist my Entity... I solved this on the onchage of the PropertySelection for instance, by adding a few lines to my onRefresh method: getDelegate().clear(); :D For this issue with the Table component I removed every validator bound to my form, and used manual validation on my listener: public void onSave(){ validate(getDelegate()); } private void validate(ValidationDelegate delegate){ //validate fields, and record errors on the delegate object } But would be real nice If the table component had a property like: skipValidation="true/false" and if possible, somehow clear the delegate / skip validation. Anyway I've solved the issue no problems, thanks once again for all support. I hope this demonstrates my scenario. Regards On 10/2/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: I'm not sure what the original problem was now. Can you show a clear example of what you expect vs what is happening? On 10/2/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > Still stuck on this, I'm moving to the coding each validator on hand, > dumping the automatic validation. I'm just sad, cuz my form has a lot > of validators, and It's taking quite some time, I wish it had a better > way... > > Regards > > On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > I belive this is the reason for the problem: > > > > > > > > > > > > > > > > > > > > some checkboxes nested inside > > > > > > > > > > problem is, when I click on the imagesubmit it submits the first form, > > tried to override it by using a javascript onclick = > > "document.forms['tableForm'].submit()" > > > > but it seems to have no effect at all :( > > > > Any help would be real nice :) > > > > Regards > > > > On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > Jesse I tried this, but I'm stuck in something Im sure its a dumb > > > mistake from my self. Having two forms, now, the checkbox I have on > > > the table does not updates the object field as it did before when the > > > table was nested inside the same form as the detail form... > > > > > > Any hints? > > > > > > Regards > > > > > > On 9/28/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > > > Why don't you just separate the table from your other form and have > two > > > > forms instead? Most of the form based functionality of the table is > best > > > > realized when doing things like providing a "search" component or > nesting > > > > form fields within table columns. (Like checkboxes ..etc...Soon to > be > > > > InlineEditBox s as well ) > > > > > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > > > > > > > > > Vinicius Carvalho wrote: > > > > > > ouch... I guess I'll have to dump my validators ... and validate > each > > > > > > input on the save button, those side effects are too dangerous > for my > > > > > > screen. > > > > > > > > > > It's not as bad as it sounds. That's how Tap3 worked. > > > > > It simply made sure that on rewind you'd iterate over the same > elements > > > > > you had during render - it would throw stale link exception > otherwise. > > > > > > > > > > So, if that's never happens in your case, go ahead and try it. > > > > > > > > > > > > > > > > > :( > > > > > > > > > > > > Regards > > > > > > > > > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > > > > >> Vinicius Carvalho wrote: > > > > > >> > onrefresh did not work... :( I've noticed that the links > points to a > > > > > >> > Tapestry javascript function: Tapestry.submitform.
Re: Contrib:Table pagination and validation issue
I'm not sure what the original problem was now. Can you show a clear example of what you expect vs what is happening? On 10/2/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: Still stuck on this, I'm moving to the coding each validator on hand, dumping the automatic validation. I'm just sad, cuz my form has a lot of validators, and It's taking quite some time, I wish it had a better way... Regards On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > I belive this is the reason for the problem: > > > > > > > > > > some checkboxes nested inside > > > > > problem is, when I click on the imagesubmit it submits the first form, > tried to override it by using a javascript onclick = > "document.forms['tableForm'].submit()" > > but it seems to have no effect at all :( > > Any help would be real nice :) > > Regards > > On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > Jesse I tried this, but I'm stuck in something Im sure its a dumb > > mistake from my self. Having two forms, now, the checkbox I have on > > the table does not updates the object field as it did before when the > > table was nested inside the same form as the detail form... > > > > Any hints? > > > > Regards > > > > On 9/28/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > > Why don't you just separate the table from your other form and have two > > > forms instead? Most of the form based functionality of the table is best > > > realized when doing things like providing a "search" component or nesting > > > form fields within table columns. (Like checkboxes ..etc...Soon to be > > > InlineEditBox s as well ) > > > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > > > > > > > Vinicius Carvalho wrote: > > > > > ouch... I guess I'll have to dump my validators ... and validate each > > > > > input on the save button, those side effects are too dangerous for my > > > > > screen. > > > > > > > > It's not as bad as it sounds. That's how Tap3 worked. > > > > It simply made sure that on rewind you'd iterate over the same elements > > > > you had during render - it would throw stale link exception otherwise. > > > > > > > > So, if that's never happens in your case, go ahead and try it. > > > > > > > > > > > > > > :( > > > > > > > > > > Regards > > > > > > > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > > > >> Vinicius Carvalho wrote: > > > > >> > onrefresh did not work... :( I've noticed that the links points to a > > > > >> > Tapestry javascript function: Tapestry.submitform. Just one question, > > > > >> > why pagination invokes a form submission? > > > > >> > > > > >> cause otherwise you would lose the updated inputs. This was the > > > > original > > > > >> idea, > > > > >> before refresh or cancel listeners existed. > > > > >> > > > > >> You can try setting volatile="true" in your form. This is : > > > > >> "Only active in a form. Determines whether to avoid creating hidden > > > > >> fields within a form. > > > > >> Using this parameter may make the form structure different during > > > > render > > > > >> and rewind, > > > > >> and cause exceptions as a result. Please use with caution." > > > > >> > > > > >> As a sideffect, it forces normal links to be displayed (instead of form > > > > >> submiting ones) > > > > >> > > > > >> > Any ideas on how to clear the delegate messages? > > > > >> > > > > > >> > Regards > > > > >> > > > > > >> > On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > > >> >> Hello there! When using the pagination of the contrib:table that is > > > > >> >> inside a form it is displaying errors of my validation delegate > > > > >> (since > > > > >> >> the form fields are blank). I override this with the property > > > > >> >> selection using a onRefresh method, does it work for contrib as > > >
Re: Contrib:Table pagination and validation issue
Still stuck on this, I'm moving to the coding each validator on hand, dumping the automatic validation. I'm just sad, cuz my form has a lot of validators, and It's taking quite some time, I wish it had a better way... Regards On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: I belive this is the reason for the problem: some checkboxes nested inside problem is, when I click on the imagesubmit it submits the first form, tried to override it by using a javascript onclick = "document.forms['tableForm'].submit()" but it seems to have no effect at all :( Any help would be real nice :) Regards On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > Jesse I tried this, but I'm stuck in something Im sure its a dumb > mistake from my self. Having two forms, now, the checkbox I have on > the table does not updates the object field as it did before when the > table was nested inside the same form as the detail form... > > Any hints? > > Regards > > On 9/28/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > > Why don't you just separate the table from your other form and have two > > forms instead? Most of the form based functionality of the table is best > > realized when doing things like providing a "search" component or nesting > > form fields within table columns. (Like checkboxes ..etc...Soon to be > > InlineEditBox s as well ) > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > > > > > Vinicius Carvalho wrote: > > > > ouch... I guess I'll have to dump my validators ... and validate each > > > > input on the save button, those side effects are too dangerous for my > > > > screen. > > > > > > It's not as bad as it sounds. That's how Tap3 worked. > > > It simply made sure that on rewind you'd iterate over the same elements > > > you had during render - it would throw stale link exception otherwise. > > > > > > So, if that's never happens in your case, go ahead and try it. > > > > > > > > > > > :( > > > > > > > > Regards > > > > > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > > >> Vinicius Carvalho wrote: > > > >> > onrefresh did not work... :( I've noticed that the links points to a > > > >> > Tapestry javascript function: Tapestry.submitform. Just one question, > > > >> > why pagination invokes a form submission? > > > >> > > > >> cause otherwise you would lose the updated inputs. This was the > > > original > > > >> idea, > > > >> before refresh or cancel listeners existed. > > > >> > > > >> You can try setting volatile="true" in your form. This is : > > > >> "Only active in a form. Determines whether to avoid creating hidden > > > >> fields within a form. > > > >> Using this parameter may make the form structure different during > > > render > > > >> and rewind, > > > >> and cause exceptions as a result. Please use with caution." > > > >> > > > >> As a sideffect, it forces normal links to be displayed (instead of form > > > >> submiting ones) > > > >> > > > >> > Any ideas on how to clear the delegate messages? > > > >> > > > > >> > Regards > > > >> > > > > >> > On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > > >> >> Hello there! When using the pagination of the contrib:table that is > > > >> >> inside a form it is displaying errors of my validation delegate > > > >> (since > > > >> >> the form fields are blank). I override this with the property > > > >> >> selection using a onRefresh method, does it work for contrib as > > > well? > > > >> >> > > > >> >> Regards > > > >> >> > > > >> >> -- > > > >> >> IBM Certified SOA Solution Designer > > > >> >> > > > >> > > > > >> > > > > >> > > > >> > > > >> -- > > > >> Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr > > > >> Tapestry / Tacos developer > > > >> Open Source / J2EE Consulting > > > >> > > > >> > > > >> - > > > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >> For additional commands, e-mail: [EMAIL PROTECTED] > > > >> > > > >> > > > > > > > > > > > > > > > > > -- > > > Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr > > > Tapestry / Tacos developer > > > Open Source / J2EE Consulting > > > > > > > > > - > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > -- > > Jesse Kuhnert > > Tapestry/Dojo/(and a dash of TestNG), team member/developer > > > > Open source based consulting work centered around > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > > > > > > -- > IBM Certified SOA Solution Designer > -- IBM Certified SOA Solution Designer -- IBM Certified SOA Solution Designer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Contrib:Table pagination and validation issue
I belive this is the reason for the problem: some checkboxes nested inside problem is, when I click on the imagesubmit it submits the first form, tried to override it by using a javascript onclick = "document.forms['tableForm'].submit()" but it seems to have no effect at all :( Any help would be real nice :) Regards On 9/29/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: Jesse I tried this, but I'm stuck in something Im sure its a dumb mistake from my self. Having two forms, now, the checkbox I have on the table does not updates the object field as it did before when the table was nested inside the same form as the detail form... Any hints? Regards On 9/28/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > Why don't you just separate the table from your other form and have two > forms instead? Most of the form based functionality of the table is best > realized when doing things like providing a "search" component or nesting > form fields within table columns. (Like checkboxes ..etc...Soon to be > InlineEditBox s as well ) > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > > > Vinicius Carvalho wrote: > > > ouch... I guess I'll have to dump my validators ... and validate each > > > input on the save button, those side effects are too dangerous for my > > > screen. > > > > It's not as bad as it sounds. That's how Tap3 worked. > > It simply made sure that on rewind you'd iterate over the same elements > > you had during render - it would throw stale link exception otherwise. > > > > So, if that's never happens in your case, go ahead and try it. > > > > > > > > :( > > > > > > Regards > > > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > >> Vinicius Carvalho wrote: > > >> > onrefresh did not work... :( I've noticed that the links points to a > > >> > Tapestry javascript function: Tapestry.submitform. Just one question, > > >> > why pagination invokes a form submission? > > >> > > >> cause otherwise you would lose the updated inputs. This was the > > original > > >> idea, > > >> before refresh or cancel listeners existed. > > >> > > >> You can try setting volatile="true" in your form. This is : > > >> "Only active in a form. Determines whether to avoid creating hidden > > >> fields within a form. > > >> Using this parameter may make the form structure different during > > render > > >> and rewind, > > >> and cause exceptions as a result. Please use with caution." > > >> > > >> As a sideffect, it forces normal links to be displayed (instead of form > > >> submiting ones) > > >> > > >> > Any ideas on how to clear the delegate messages? > > >> > > > >> > Regards > > >> > > > >> > On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > > >> >> Hello there! When using the pagination of the contrib:table that is > > >> >> inside a form it is displaying errors of my validation delegate > > >> (since > > >> >> the form fields are blank). I override this with the property > > >> >> selection using a onRefresh method, does it work for contrib as > > well? > > >> >> > > >> >> Regards > > >> >> > > >> >> -- > > >> >> IBM Certified SOA Solution Designer > > >> >> > > >> > > > >> > > > >> > > >> > > >> -- > > >> Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr > > >> Tapestry / Tacos developer > > >> Open Source / J2EE Consulting > > >> > > >> > > >> - > > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > > >> For additional commands, e-mail: [EMAIL PROTECTED] > > >> > > >> > > > > > > > > > > > > -- > > Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr > > Tapestry / Tacos developer > > Open Source / J2EE Consulting > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > Jesse Kuhnert > Tapestry/Dojo/(and a dash of TestNG), team member/developer > > Open source based consulting work centered around > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > -- IBM Certified SOA Solution Designer -- IBM Certified SOA Solution Designer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Contrib:Table pagination and validation issue
Jesse I tried this, but I'm stuck in something Im sure its a dumb mistake from my self. Having two forms, now, the checkbox I have on the table does not updates the object field as it did before when the table was nested inside the same form as the detail form... Any hints? Regards On 9/28/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote: Why don't you just separate the table from your other form and have two forms instead? Most of the form based functionality of the table is best realized when doing things like providing a "search" component or nesting form fields within table columns. (Like checkboxes ..etc...Soon to be InlineEditBox s as well ) On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > > Vinicius Carvalho wrote: > > ouch... I guess I'll have to dump my validators ... and validate each > > input on the save button, those side effects are too dangerous for my > > screen. > > It's not as bad as it sounds. That's how Tap3 worked. > It simply made sure that on rewind you'd iterate over the same elements > you had during render - it would throw stale link exception otherwise. > > So, if that's never happens in your case, go ahead and try it. > > > > > :( > > > > Regards > > > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: > >> Vinicius Carvalho wrote: > >> > onrefresh did not work... :( I've noticed that the links points to a > >> > Tapestry javascript function: Tapestry.submitform. Just one question, > >> > why pagination invokes a form submission? > >> > >> cause otherwise you would lose the updated inputs. This was the > original > >> idea, > >> before refresh or cancel listeners existed. > >> > >> You can try setting volatile="true" in your form. This is : > >> "Only active in a form. Determines whether to avoid creating hidden > >> fields within a form. > >> Using this parameter may make the form structure different during > render > >> and rewind, > >> and cause exceptions as a result. Please use with caution." > >> > >> As a sideffect, it forces normal links to be displayed (instead of form > >> submiting ones) > >> > >> > Any ideas on how to clear the delegate messages? > >> > > >> > Regards > >> > > >> > On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: > >> >> Hello there! When using the pagination of the contrib:table that is > >> >> inside a form it is displaying errors of my validation delegate > >> (since > >> >> the form fields are blank). I override this with the property > >> >> selection using a onRefresh method, does it work for contrib as > well? > >> >> > >> >> Regards > >> >> > >> >> -- > >> >> IBM Certified SOA Solution Designer > >> >> > >> > > >> > > >> > >> > >> -- > >> Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr > >> Tapestry / Tacos developer > >> Open Source / J2EE Consulting > >> > >> > >> - > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > > -- > Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr > Tapestry / Tacos developer > Open Source / J2EE Consulting > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com -- IBM Certified SOA Solution Designer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Contrib:Table pagination and validation issue
Why don't you just separate the table from your other form and have two forms instead? Most of the form based functionality of the table is best realized when doing things like providing a "search" component or nesting form fields within table columns. (Like checkboxes ..etc...Soon to be InlineEditBox s as well ) On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: Vinicius Carvalho wrote: > ouch... I guess I'll have to dump my validators ... and validate each > input on the save button, those side effects are too dangerous for my > screen. It's not as bad as it sounds. That's how Tap3 worked. It simply made sure that on rewind you'd iterate over the same elements you had during render - it would throw stale link exception otherwise. So, if that's never happens in your case, go ahead and try it. > > :( > > Regards > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: >> Vinicius Carvalho wrote: >> > onrefresh did not work... :( I've noticed that the links points to a >> > Tapestry javascript function: Tapestry.submitform. Just one question, >> > why pagination invokes a form submission? >> >> cause otherwise you would lose the updated inputs. This was the original >> idea, >> before refresh or cancel listeners existed. >> >> You can try setting volatile="true" in your form. This is : >> "Only active in a form. Determines whether to avoid creating hidden >> fields within a form. >> Using this parameter may make the form structure different during render >> and rewind, >> and cause exceptions as a result. Please use with caution." >> >> As a sideffect, it forces normal links to be displayed (instead of form >> submiting ones) >> >> > Any ideas on how to clear the delegate messages? >> > >> > Regards >> > >> > On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: >> >> Hello there! When using the pagination of the contrib:table that is >> >> inside a form it is displaying errors of my validation delegate >> (since >> >> the form fields are blank). I override this with the property >> >> selection using a onRefresh method, does it work for contrib as well? >> >> >> >> Regards >> >> >> >> -- >> >> IBM Certified SOA Solution Designer >> >> >> > >> > >> >> >> -- >> Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr >> Tapestry / Tacos developer >> Open Source / J2EE Consulting >> >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
Re: Contrib:Table pagination and validation issue
Vinicius Carvalho wrote: > ouch... I guess I'll have to dump my validators ... and validate each > input on the save button, those side effects are too dangerous for my > screen. It's not as bad as it sounds. That's how Tap3 worked. It simply made sure that on rewind you'd iterate over the same elements you had during render - it would throw stale link exception otherwise. So, if that's never happens in your case, go ahead and try it. > > :( > > Regards > > On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: >> Vinicius Carvalho wrote: >> > onrefresh did not work... :( I've noticed that the links points to a >> > Tapestry javascript function: Tapestry.submitform. Just one question, >> > why pagination invokes a form submission? >> >> cause otherwise you would lose the updated inputs. This was the original >> idea, >> before refresh or cancel listeners existed. >> >> You can try setting volatile="true" in your form. This is : >> "Only active in a form. Determines whether to avoid creating hidden >> fields within a form. >> Using this parameter may make the form structure different during render >> and rewind, >> and cause exceptions as a result. Please use with caution." >> >> As a sideffect, it forces normal links to be displayed (instead of form >> submiting ones) >> >> > Any ideas on how to clear the delegate messages? >> > >> > Regards >> > >> > On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: >> >> Hello there! When using the pagination of the contrib:table that is >> >> inside a form it is displaying errors of my validation delegate >> (since >> >> the form fields are blank). I override this with the property >> >> selection using a onRefresh method, does it work for contrib as well? >> >> >> >> Regards >> >> >> >> -- >> >> IBM Certified SOA Solution Designer >> >> >> > >> > >> >> >> -- >> Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr >> Tapestry / Tacos developer >> Open Source / J2EE Consulting >> >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Contrib:Table pagination and validation issue
ouch... I guess I'll have to dump my validators ... and validate each input on the save button, those side effects are too dangerous for my screen. :( Regards On 9/28/06, andyhot <[EMAIL PROTECTED]> wrote: Vinicius Carvalho wrote: > onrefresh did not work... :( I've noticed that the links points to a > Tapestry javascript function: Tapestry.submitform. Just one question, > why pagination invokes a form submission? cause otherwise you would lose the updated inputs. This was the original idea, before refresh or cancel listeners existed. You can try setting volatile="true" in your form. This is : "Only active in a form. Determines whether to avoid creating hidden fields within a form. Using this parameter may make the form structure different during render and rewind, and cause exceptions as a result. Please use with caution." As a sideffect, it forces normal links to be displayed (instead of form submiting ones) > Any ideas on how to clear the delegate messages? > > Regards > > On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: >> Hello there! When using the pagination of the contrib:table that is >> inside a form it is displaying errors of my validation delegate (since >> the form fields are blank). I override this with the property >> selection using a onRefresh method, does it work for contrib as well? >> >> Regards >> >> -- >> IBM Certified SOA Solution Designer >> > > -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- IBM Certified SOA Solution Designer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Contrib:Table pagination and validation issue
Vinicius Carvalho wrote: > onrefresh did not work... :( I've noticed that the links points to a > Tapestry javascript function: Tapestry.submitform. Just one question, > why pagination invokes a form submission? cause otherwise you would lose the updated inputs. This was the original idea, before refresh or cancel listeners existed. You can try setting volatile="true" in your form. This is : "Only active in a form. Determines whether to avoid creating hidden fields within a form. Using this parameter may make the form structure different during render and rewind, and cause exceptions as a result. Please use with caution." As a sideffect, it forces normal links to be displayed (instead of form submiting ones) > Any ideas on how to clear the delegate messages? > > Regards > > On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: >> Hello there! When using the pagination of the contrib:table that is >> inside a form it is displaying errors of my validation delegate (since >> the form fields are blank). I override this with the property >> selection using a onRefresh method, does it work for contrib as well? >> >> Regards >> >> -- >> IBM Certified SOA Solution Designer >> > > -- Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr Tapestry / Tacos developer Open Source / J2EE Consulting - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Contrib:Table pagination and validation issue
onrefresh did not work... :( I've noticed that the links points to a Tapestry javascript function: Tapestry.submitform. Just one question, why pagination invokes a form submission? Any ideas on how to clear the delegate messages? Regards On 9/28/06, Vinicius Carvalho <[EMAIL PROTECTED]> wrote: Hello there! When using the pagination of the contrib:table that is inside a form it is displaying errors of my validation delegate (since the form fields are blank). I override this with the property selection using a onRefresh method, does it work for contrib as well? Regards -- IBM Certified SOA Solution Designer -- IBM Certified SOA Solution Designer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Contrib:Table pagination and validation issue
Hello there! When using the pagination of the contrib:table that is inside a form it is displaying errors of my validation delegate (since the form fields are blank). I override this with the property selection using a onRefresh method, does it work for contrib as well? Regards -- IBM Certified SOA Solution Designer - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tapestry Table sorting and pagination problem
> object has been stored into the request cycle. This > object is typically provided by a Body component. > You should add a Body component to your template. > location: > The error says you do not have a Body component. Please try using a Body component and see whether it works. Shing --- Samuel S <[EMAIL PROTECTED]> wrote: > Hi, > > In my Tapestry Application I'm using Table content. > But sorting is not working and pagination also not > working. anybody tell me where i made a mistake. > > Search.page > > > > >value="beans.evenOdd.next"/> >value="literal:title"/> > > > > Search.html > > > jwcid="userName" >sdfs > > > Error > > Component Search/table.tableFormPages.linkPage > requires rendering support, but no PageRenderSupport > object has been stored into the request cycle. This > object is typically provided by a Body component. > You should add a Body component to your template. > location: > classpath:/org/apache/tapestry/contrib/table/components/TableFormPages.jwc, > line 82, column 45 > 77 > 78 > 79 > 80 > 81 > 82 > 83 expression="listeners.changePage"/> > 84 > 85 expression="selectedPage"/> > 86 > 87 > > Stack Trace: > org.apache.tapestry.TapestryUtils.getPageRenderSupport(TapestryUtils.java:108) > > org.apache.tapestry.form.LinkSubmit.renderFormComponent(LinkSubmit.java:72) > > org.apache.tapestry.form.AbstractFormComponent.renderComponent(AbstractFormComponent.java:122) > > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) > > org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:434) > > org.apache.tapestry.components.ElseBean.renderComponent(ElseBean.java:45) > > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) > > org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:434) > > org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:137) > > org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) > > > Home page : http://uk.geocities.com/matmsh/index.html ___ To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tapestry Table sorting and pagination problem
Hi, In my Tapestry Application I'm using Table content. But sorting is not working and pagination also not working. anybody tell me where i made a mistake. Search.page Search.html sdfs Error Component Search/table.tableFormPages.linkPage requires rendering support, but no PageRenderSupport object has been stored into the request cycle. This object is typically provided by a Body component. You should add a Body component to your template. location: classpath:/org/apache/tapestry/contrib/table/components/TableFormPages.jwc, line 82, column 45 77 78 79 80 81 82 83 84 85 86 87 Stack Trace: org.apache.tapestry.TapestryUtils.getPageRenderSupport(TapestryUtils.java:108) org.apache.tapestry.form.LinkSubmit.renderFormComponent(LinkSubmit.java:72) org.apache.tapestry.form.AbstractFormComponent.renderComponent(AbstractFormComponent.java:122) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:434) org.apache.tapestry.components.ElseBean.renderComponent(ElseBean.java:45) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617) org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:434) org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:137) org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)