jfinal自定义标签如何实现分页?

发布于 2021-11-25 07:24:40 字数 2975 浏览 791 评论 5

jfinal自定义标签如何实现分页?

package pers.hzy.controller.front.directive;

import static freemarker.template.ObjectWrapper.DEFAULT_WRAPPER;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import pers.hzy.model.ReCarbty;

import freemarker.core.Environment;
import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateDirectiveModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModel;

public class CarbtyListDirective implements TemplateDirectiveModel {
	
	@SuppressWarnings("rawtypes")
	public void execute(Environment env, Map params, TemplateModel[] loopVars,
			TemplateDirectiveBody body) throws TemplateException, IOException {
		List<ReCarbty> list = ReCarbty.dao.find("select * from re_carbty where status='P' order by createtime desc, id desc");
		env.setVariable("tag_list", DEFAULT_WRAPPER.wrap(list));
		body.render(env.getOut());
	}
	
}

<@carbty_list>
	<#list tag_list as c>
		<tr onMouseOver="this.className='cont_o'" onMouseOut="this.className=''" onclick="javascript:window.location.href='${(base)!''}/content/${(c.id)!''}';">
			<td>${(c.id)!''}</td><td>${(c.name)!''}</td><td>${(c.carnum)!''}</td><td>${(c.brief)!''}</td>
		</tr>
	</#list>
	<#include "../page/page_2.html"/>???
	<@pagination />???
</@carbty_list>

//分页
<#macro paginate currentPage totalPage totalRow pageSize actionUrl urlParas>
	<#if (totalPage<=0)||(currentPage>totalPage)>
		<table cellpadding=0 cellspacing=0 class="page"><tr><td>
			<span>首页</span>
			<span>上页</span>
			<p>1/1</p>
			<span>下页</span>
			<span>末页</span>
		</td></tr></table>
		<#return>
	</#if>
	<table cellpadding=0 cellspacing=0 class="page"><tr><td>
		<#if (currentPage==1)>
			<span>首页</span>
		<#else>
			<a href="${actionUrl}#1${urlParas!}">首页</a>
		</#if>
		<#if (currentPage==1)>
			<span>上页</span>
		<#else>
			<a href="${actionUrl}#{currentPage-1}${urlParas!}">上页</a>
		</#if>
		<p>${currentPage}/${totalPage}</p>
		<#if (currentPage==totalPage)>
			<span>下页</span>
		<#else>
			<a href="${actionUrl}#{currentPage+1}${urlParas!}">下页</a>
		</#if>
		<#if (currentPage==totalPage)>
			<span>尾页</span>
		<#else>
			<a href="${actionUrl}#{totalPage}${urlParas!}">尾页</a>
		</#if>
	</td></tr></table>
</#macro>

??问号处怎么写。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

风透绣罗衣 2021-12-02 06:04:33

主要是吧当前的页数计算好 这个把握好分页自己写 没问题的

德意的啸 2021-12-02 06:00:37

就是想简化源码,直接调用就行了

吃颗糖壮壮胆 2021-12-01 20:40:21

就是想用它的这个方法 http://my.oschina.net/yongtree/blog/92309?fromerr=JljB8ry5 这方法展示的是列表,没有分页。

甜扑 2021-12-01 20:38:27

    在 jfinal 官网下载 jfinal demo,里面的 webapp 目录下面的 common/_paginate.html已经写好了这个功能,直接用就好。 

    另外不建议在自定义标签中使用 dao.paginate这样的代码,自定义标签通常只用于实现模板相关功能,对数据进行展示就好。如果有了这些查询数据库的方法不仅不通用,而且耦合度也将提升

冷弦 2021-11-30 12:50:41

调用定义的宏,传对应的参数

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文