That is because attrStartDate is actually of type VotingBean and not actually Date. Is there a date accessor(get) somewhere inside VotingBean? Does VotingBean have a toString() on it that is printing out some date?
José Renato wrote: > Hi Chris, > > Thanks for answering. I did what you mentioned. But I got this error: > > .Default (self-tuning)'] > org.displaytag.exception.BaseNestableJspTagException > (BaseNestableJspTagException.java:99) - Exception: [.LookupUtil] Error > looking up > property "attrStartDate.time" in object type > "com.app.persistence.voting.VotingBean". Cause: Unknown property 'time' > java.lang.NoSuchMethodException: Unknown property 'time' at > org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(Prop > ertyUtilsBean.java:1122) > at > org.apache.commons.beanutils.PropertyUtils.getSimpleProperty(PropertyUtils.java:408) > at org.displaytag.util.LookupUtil.getProperty(LookupUtil.java:271) > at > org.displaytag.util.LookupUtil.getBeanProperty(LookupUtil.java:129) > at org.displaytag.model.RowSorter.compare(RowSorter.java:140) > at java.util.Arrays.mergeSort(Arrays.java:1284) > at java.util.Arrays.mergeSort(Arrays.java:1295) > at java.util.Arrays.mergeSort(Arrays.java:1295) > at java.util.Arrays.sort(Arrays.java:1223) > at java.util.Collections.sort(Collections.java:159) > at > org.displaytag.model.TableModel.sortRowList(TableModel.java:451) > at > org.displaytag.model.TableModel.sortPageList(TableModel.java:473) > at org.displaytag.tags.TableTag.doEndTag(TableTag.java:1193) > at > jsp_servlet._web_45_inf._pages._vote.__votelist._jsp__tag2(__votelist.java:414) > at > jsp_servlet._web_45_inf._pages._vote.__votelist._jsp__tag1(__votelist.java:295) > at > jsp_servlet._web_45_inf._pages._vote.__votelist._jsp__tag0(__votelist.java:255) > at > jsp_servlet._web_45_inf._pages._vote.__votelist._jspService(__votelist.java:223) > at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) > at > weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run > (StubSecurityHelper.java:223) > at > weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecuri > tyHelper.java:125) > at > weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) > at > weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) > at > weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:500) > at > weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:431) > at > weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:152) > at > org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99) > at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135) > at > org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760) > at > org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892) > at > org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462) > > at > jsp_servlet._web_45_inf._pages._layout.__contentlayout._jsp__tag1(__contentlayout.java:155) > at > jsp_servlet._web_45_inf._pages._layout.__contentlayout._jspService(__contentlayout.java:95) > <04/07/2007 12h30min14s BRT> <Error> <HTTP> <BEA-101020> > <[weblogic.servlet.inte > [EMAIL PROTECTED] - appName: '_appsdir_sdpClient_war', > name: 'sdp > Client.war', context-path: '/sdpClient'] Servlet failed with Exception > org.displaytag.exception.RuntimeLookupException: LookupException while > trying to > fetch property "attrStartDate.time". Cause: Error looking up property > "attrStartDate.time" in object type > "com.app.persistence.voting.VotingBean".. > at org.displaytag.model.RowSorter.compare(RowSorter.java:148) > at java.util.Arrays.mergeSort(Arrays.java:1284) > at java.util.Arrays.mergeSort(Arrays.java:1295) > at java.util.Arrays.mergeSort(Arrays.java:1295) > at java.util.Arrays.sort(Arrays.java:1223) > Truncated. see log file for complete stacktrace > > Can I from a String bean parameter access it as "time" like you > mentioned? Here is how I did: > > <display:column title="Start Date" class="content-table" > media="html csv xml excel pdf rtf" style="width=33%" sortable="true" > > sortProperty="attrStartDate.time">${vote.attrStartDate}</display:column> > > Any Ideas? > > Thanks again, > José Renato. > > Chris Widhelm escreveu: >> sortProperty="attrEndDate.time" >> >> And remove the comparator. >> >> José Renato wrote: >> >>> Hi All, >>> >>> I am still stucked here. Can someone give me some clue how can I sort >>> a String date column properly? >>> >>> >>> I have a date field retrieved as plain String from database. When I >>> try to sort the "date" column it does not work properly. So I extended >>> display tag DefaultComparator as follows: >>> >>> //... >>> public class DateStringComparator extends DefaultComparator { >>> public int compare(Object dateOne, Object dateTwo) { >>> int result = 0; >>> final String mask = "dd/MM/yyyy HH:mm:ss"; >>> try { >>> Date d1 = DateWrapper.stringToDate(((String) >>> dateOne).trim(), mask); >>> result = d1.compareTo(DateWrapper.stringToDate(((String) >>> dateTwo) >>> .trim(), mask)); >>> } catch (ParseException e) { e.priontStackTrace(); } >>> return result; >>> } >>> } >>> >>> When declaring the String date column I do: >>> >>> <display:column title="End Date" class="content-table" >>> media="html csv xml excel pdf rtf" style="width=33%" >>> comparator="com.app.web.util.DateStringComparator" >>> sortable="true" >>> sortProperty="attrEndDate">${vote.attrEndDate}</display:column> >>> >>> Here comes the problem. The table renders the comparator class name >>> "com.app.web.util.DateStringComparator" instead of field value. I am >>> using displaytag-1.1.1-2007-6-7.jar. >>> >>> What am I missing here dudes? Can someone shed some light here :D >>> >>> Thanks a lot, >>> José Renato. >>> >>> >>> ------------------------------------------------------------------------ >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by DB2 Express >>> Download DB2 Express C - the FREE version of DB2 express and take >>> control of your XML. No limits. Just data. Click to get it now. >>> http://sourceforge.net/powerbar/db2/ >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> displaytag-user mailing list >>> displaytag-user@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/displaytag-user >>> >>> >> >> > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > ------------------------------------------------------------------------ > > _______________________________________________ > displaytag-user mailing list > displaytag-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/displaytag-user > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ displaytag-user mailing list displaytag-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/displaytag-user