<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Pagination issue"]]></title>
		<link>http://www.andowson.com/posts/list/7.page</link>
		<description><![CDATA[Latest messages posted in the topic "Pagination issue"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Pagination issue</title>
				<description><![CDATA[ Hello. I am trying to do some pagination under Admin Panel for Groups. I made the appropriate changes to the code and i can see the pagination at the end of the page (When admin clicks on groups link under Admin Control Panel). The problem is that the groups page still shows all the groups in one page and shows the pagination at the bottom also which i am sure is not correct because i get a macro exception.<br /> <br /> Can someone point me out what am i doing wrong. Thanks.<br /> <br /> GroupAction<br /> [code]<br />     public void list()<br />     {<br />         System.out.println("Inside list()");<br />         int start = this.preparePagination(DataAccessDriver.getInstance().newGroupDAO().getTotalGroups());<br />         System.out.println("Start is [ " + start + " ] ");<br />         int groupsPerPage = SystemGlobals.getIntValue(ConfigKeys.GROUPS_PER_PAGE);<br />         System.out.println("Groups per page [ " + groupsPerPage + " ] ");<br />         this.context.put("groups", new TreeGroup().getNodes());<br />         this.context.put("grouping", DataAccessDriver.getInstance().newGroupDAO().selectAll(start ,groupsPerPage));<br />         //this.commonData();<br />         <br />         this.setTemplateName(TemplateKeys.GROUP_LIST);<br />     }<br />     <br />     private int preparePagination(int totalGroups)<br />     {<br />         int start = ViewCommon.getStartPage();<br />         LOG.info("Start is [ " + start + " ]");<br />         int groupsPerPage = SystemGlobals.getIntValue(ConfigKeys.GROUPS_PER_PAGE);<br />         LOG.info("Groups Per Page is [ " + groupsPerPage + " ] ");<br />         ViewCommon.contextToPagination(start, totalGroups, groupsPerPage);<br />         <br />         return start;<br />     }<br /> [/code]<br /> <br /> GroupDAO<br /> [code]<br />     public int getTotalGroups() ;<br />     <br />     public List selectAll(int startFrom, int count) ;<br /> [/code]<br /> <br /> GenericGroupAction<br /> <br /> [code]<br />     /**<br />      * @see net.jforum.dao.GroupDAO#getTotalGroups()<br />      */<br />     <br />     public int getTotalGroups()<br />     {<br />         PreparedStatement preparedStatement = null;<br />         try {<br />             preparedStatement = JForumExecutionContext.getConnection().prepareStatement(<br />                     SystemGlobals.getSql("GroupModel.totalGroups"));<br />             return this.getTotalGroupsCommon(preparedStatement);<br />         }<br />         catch (SQLException e) {<br />             throw new DatabaseException(e);<br />         }<br />         finally {<br />             DbUtils.close(preparedStatement);<br />         }<br />     }<br />     <br />     protected int getTotalGroupsCommon(PreparedStatement p) throws SQLException<br />     {<br />         System.out.println("Insid egetTotalGroupsCommon");<br />         ResultSet rs = p.executeQuery();<br />         rs.next();<br /> <br />         int total = rs.getInt(1);<br /> <br />         rs.close();<br />         p.close();<br /> <br />         return total;<br />     }<br />     <br />     protected List processSelectAll(ResultSet rs) throws SQLException<br />     {<br />         System.out.println("Inside processSelectAll()");<br />         List list = new ArrayList();<br /> <br />         while (rs.next()) {<br />             Group g = new Group();<br />             g.setId(rs.getInt("group_id"));<br />             g.setName(rs.getString("group_name"));<br />             g.setParentId(rs.getInt("parent_id"));<br />             g.setDescription(rs.getString("group_description"));<br />             list.add(g);<br />         }<br /> <br />         return list;<br />     }<br />     <br />     public List selectAll(int startFrom, int count)<br />     {<br />         System.out.println("Inside selectAll()");<br />         PreparedStatement p = null;<br />         ResultSet rs = null;<br /> <br />         try {<br />             if (count &gt; 0) {<br />                 p = JForumExecutionContext.getConnection().prepareStatement(<br />                         SystemGlobals.getSql("GroupModel.selectAllByLimit"));<br />                 p.setInt(1, startFrom);<br />                 p.setInt(2, count);<br />             }<br />             else {<br />                 p = JForumExecutionContext.getConnection()<br />                         .prepareStatement(SystemGlobals.getSql("GroupModel.selectAll"));<br />             }<br /> <br />             rs = p.executeQuery();<br /> <br />             return this.processSelectAll(rs);<br />         }<br />         catch (SQLException e) {<br />             throw new DatabaseException(e);<br />         }<br />         finally {<br />             DbUtils.close(rs, p);<br />         }<br />     }<br /> [/code]<br /> <br /> SystemGlobals.properties<br /> <br /> groupsPerPage = 30<br /> <br /> genericqueries.sql<br /> <br /> [code=sql]<br /> GroupModel.totalGroups = SELECT COUNT(1) as total_groups FROM jforum_groups<br /> GroupModel.selectAllByLimit = SELECT group_id, group_name, parent_id, group_description \<br />     FROM jforum_groups ORDER BY group_name LIMIT ?, ?<br /> [/code]<br /> <br /> group_list.htm<br /> <br /> [code=html]<br /> &lt;table width="100%"&gt;<br />     &lt;tr&gt;<br />         &lt;td align="right"&gt;&lt;#if thisPage?exists&gt;&lt;@pagination.doPagination groups/&gt;&lt;/#if&gt;&lt;/td&gt;<br />     &lt;/tr&gt;<br /> &lt;/table&gt;<br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/662.page</guid>
				<link>http://www.andowson.com/posts/preList/354/662.page</link>
				<pubDate><![CDATA[Fri, 16 Oct 2009 12:03:45]]> GMT</pubDate>
				<author><![CDATA[ acer123]]></author>
			</item>
			<item>
				<title>回覆:Pagination issue</title>
				<description><![CDATA[ And i created a variable in ConfigKeys.java also for GROUPS_PER_PAGE]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/663.page</guid>
				<link>http://www.andowson.com/posts/preList/354/663.page</link>
				<pubDate><![CDATA[Fri, 16 Oct 2009 12:09:42]]> GMT</pubDate>
				<author><![CDATA[ acer123]]></author>
			</item>
			<item>
				<title>回覆:Pagination issue</title>
				<description><![CDATA[ Ah appologies for the double post. Actually i was trying to edit and instead i later on realized that i quoted :--(. I was able to make it work. What i did is made some changes in group_list.htm file in admin. I can see the pagination and the first page displays 30 records. But when i click on second page i get a nasty exception. <br /> <br /> [code]<br /> <br /> &lt;#list grouping as group&gt;<br /> <br />     &lt;tr&gt;<br />         &lt;td class="row1"&gt;&lt;span class="gen"&gt;${group.name}&lt;/span&gt;&lt;/td&gt;<br />         &lt;td class="row1" align="center"&gt;&lt;span class="gen"&gt;&lt;a href="${contextPath}/${moduleName}/edit/${group.id}${extension}"&gt;${I18n.getMessage("Groups.List.Edit")}&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;<br />         &lt;td class="row1" align="center"&gt;&lt;input type="checkbox" name="group_id" value="${group.id}" /&gt;&lt;/td&gt;<br />         &lt;td class="row1" align="center"&gt;&lt;span class="gen"&gt;&lt;a href="${contextPath}/${moduleName}/permissions/${group.id}${extension}"&gt;${I18n.getMessage("Permissions")}&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;<br />     &lt;/tr&gt;<br /> <br />     &lt;/#list&gt;<br /> .<br /> .<br /> .<br /> <br /> &lt;table width="100%"&gt;<br /> &lt;tr&gt;<br /> &lt;td align="right"&gt;&lt;#if thisPage?exists&gt;&lt;@pagination.doPagination grouping/&gt;&lt;/#if&gt;&lt;/td&gt;<br /> &lt;/tr&gt;<br /> &lt;/table&gt;<br /> <br /> [/code]<br /> <br /> When i click on the second page this is what i get :-<br /> <br /> &lt;a id="myprofile" class="mainmenu" href=" Expression session is undefined on line 67, column 162 in default/header.htm. The problematic instruction: ---------- ==&gt; ${session.userId} [on line 67, column 160 in default/header.htm] in include "header.htm" [on line 1, column 1 in default/message.htm] in include "${templateName}/message.htm" [on line 7, column 9 in exception.html] ---------- Java backtrace for programmers: ---------- freemarker.core.InvalidReferenceException: Expression session is undefined on line 67, column 162 in default/header.htm. at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134) at freemarker.core.Dot._getAsTemplateModel(Dot.java:78) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.renderElementToString(Environment.java:1461) at freemarker.core.StringLiteral.getStringValue(StringLiteral.java:95) at freemarker.core.StringLiteral._getAsTemplateModel(StringLiteral.java:80) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.ListLiteral.getModelList(ListLiteral.java:119) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:89) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93) at freemarker.core.DollarVariable.accept(DollarVariable.java:76) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.include(Environment.java:1375) at freemarker.core.Include.accept(Include.java:155) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.include(Environment.java:1375) at freemarker.core.Include.accept(Include.java:155) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.IfBlock.accept(IfBlock.java:82) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.process(Environment.java:176) at freemarker.template.Template.process(Template.java:232) at net.jforum.exceptions.ExceptionWriter.handleExceptionData(ExceptionWriter.java:115) at net.jforum.JForum.handleException(JForum.java:285) at net.jforum.JForum.service(JForum.java:205) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at net.jforum.util.legacy.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:59) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595)  ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/665.page</guid>
				<link>http://www.andowson.com/posts/preList/354/665.page</link>
				<pubDate><![CDATA[Fri, 16 Oct 2009 13:23:00]]> GMT</pubDate>
				<author><![CDATA[ acer123]]></author>
			</item>
			<item>
				<title>回覆:Pagination issue</title>
				<description><![CDATA[ There is an exception occurred when you clicked on the second page. You need to find out the URL of the second page. Check if the URL is correct.]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/666.page</guid>
				<link>http://www.andowson.com/posts/preList/354/666.page</link>
				<pubDate><![CDATA[Fri, 16 Oct 2009 16:02:33]]> GMT</pubDate>
				<author><![CDATA[ andowson]]></author>
			</item>
			<item>
				<title>回覆:Pagination issue</title>
				<description><![CDATA[ Hi adwoson. Thanks for your reply. I output the URL and it states :-<br /> <br /> <a class="snap_shots" href="http://localhost:8080/jforum/adminGroups/list-30?null" target="_blank" rel="nofollow">http://localhost:8080/jforum/adminGroups/list-30?null</a><br /> <br /> The parameter i get for the second page is null hence the exception. I tried several senarious but just could not find a way to fix it. Any hints. ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/667.page</guid>
				<link>http://www.andowson.com/posts/preList/354/667.page</link>
				<pubDate><![CDATA[Fri, 16 Oct 2009 21:28:52]]> GMT</pubDate>
				<author><![CDATA[ acer123]]></author>
			</item>
			<item>
				<title>回覆:Pagination issue</title>
				<description><![CDATA[ And in the group-list.htm where it uses the group-macros.ftl i replaced the looping with th &lt;#list&gt;. I am sure that should not be an issue]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/668.page</guid>
				<link>http://www.andowson.com/posts/preList/354/668.page</link>
				<pubDate><![CDATA[Fri, 16 Oct 2009 21:33:08]]> GMT</pubDate>
				<author><![CDATA[ acer123]]></author>
			</item>
			<item>
				<title>回覆:Pagination issue</title>
				<description><![CDATA[ Ok i was able to fix the issue by adding :-<br /> <br /> adminGroups.list.0 =<br /> <br /> It worked perfectly. Hopefully people who are trying to do pagination can find this post helpful.]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/669.page</guid>
				<link>http://www.andowson.com/posts/preList/354/669.page</link>
				<pubDate><![CDATA[Mon, 19 Oct 2009 05:41:36]]> GMT</pubDate>
				<author><![CDATA[ acer123]]></author>
			</item>
			<item>
				<title>Pagination issue</title>
				<description><![CDATA[ acer123:<br /> 我抄了你的代码到我的系统上,出现这样的错误<br /> URL is: /jforum/adminGroups/list.page?null<br /> The problematic instruction:<br /> ----------<br /> ==&gt; user-directive pagination.doPagination [on line 61, column 40 in community/admin/group_list.htm]<br /> ----------<br /> <br /> Java backtrace for programmers:<br /> ----------<br /> freemarker.core.InvalidReferenceException: Expression pagination is undefined on line 61, column 42 in community/admin/group_list.htm.<br /> 	at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)<br /> 	at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)<br /> 	at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)<br /> 另外说明的事情是:<br /> 1.在group_list.htm页面我是直接把下面的代码加在页的最后面<br /> &lt;table class="forumline" cellspacing="1" cellpadding="3" width="100%" border="0"&gt;<br /> &lt;#list grouping as group&gt;     <br /> &lt;tr&gt;        <br /> &lt;td class="row1"&gt;&lt;span class="gen"&gt;${group.name}&lt;/span&gt;&lt;/td&gt;         <br /> &lt;td class="row1" align="center"&gt;&lt;span class="gen"&gt;&lt;a href="${contextPath}/${moduleName}/edit/${group.id}${extension}"&gt;${I18n.getMessage("Groups.List.Edit")}&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;       <br /> &lt;td class="row1" align="center"&gt;&lt;input type="checkbox" name="group_id" value="${group.id}" /&gt;&lt;/td&gt;       <br /> &lt;td class="row1" align="center"&gt;&lt;span class="gen"&gt;&lt;a href="${contextPath}/${moduleName}/permissions/${group.id}${extension}"&gt;${I18n.getMessage("Permissions")}&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;   <br /> &lt;/tr&gt;    <br /> &lt;/#list&gt;<br /> &lt;/table&gt;<br /> &lt;table width="100%"&gt; <br /> &lt;tr&gt; <br /> &lt;td align="right"&gt;&lt;#if thisPage?exists&gt;&lt;@pagination.doPagination grouping/&gt;&lt;/#if&gt;&lt;/td&gt; <br /> &lt;/tr&gt; <br /> &lt;/table&gt;<br /> 2.你说Ok i was able to fix the issue by adding :- <br /> adminGroups.list.0 =<br />  而urlPattern.properties 早久有这样的定义了<br /> 请问要怎么修改才能够实现分组呢?特别是group_list.htm需要怎么改写<br /> 请求你的帮助,我的EMAIL:liuxinsudi@163.com<br /> ]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/677.page</guid>
				<link>http://www.andowson.com/posts/preList/354/677.page</link>
				<pubDate><![CDATA[Thu, 22 Oct 2009 16:57:04]]> GMT</pubDate>
				<author><![CDATA[ sudiliuxin]]></author>
			</item>
			<item>
				<title>Re:Pagination issue</title>
				<description><![CDATA[ Could you please show me the code for the one which you are having issues with pagination ?. All you need to do is in xyzAction.java add :-<br /> <br /> this.context.put("action",action);<br /> <br /> and in the JSP page at the bottom where they have the pagination you need to put action in there thats all]]></description>
				<guid isPermaLink="true">http://www.andowson.com/posts/preList/354/682.page</guid>
				<link>http://www.andowson.com/posts/preList/354/682.page</link>
				<pubDate><![CDATA[Wed, 28 Oct 2009 10:16:13]]> GMT</pubDate>
				<author><![CDATA[ acer123]]></author>
			</item>
	</channel>
</rss>
