<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<h1>pageCount = ${pageUtil.pageCount}</h1>
<h1>currentPage = ${pageUtil.currentPage}</h1>
<#macro pagination pageCount totalCount uri pageIndex>
<#if (pageCount > 1)>
<#if (pageIndex>1)>
<a href="${uri}¤tPage=1" title="首页"><<</a>
</#if>
<#--如果前面页数过多,显示"..."-->
<#if (pageIndex>5)>
<#assign prevPages=pageIndex-9>
<#if prevPages lt 1>
<#assign prevPages=1>
</#if>
<#assign start=pageIndex-4>
<a href="${uri}¤tPage=${prevPages}" title="向前5页">...</a>
<#else>
<#assign start=1>
</#if>
<#-- 显示当前页附近的页-->
<#assign end=pageIndex+4>
<#if (end>pageCount)>
<#assign end=pageCount>
</#if>
<#list start..end as index>
<#if pageIndex==index>
<b>${index}</b>
<#else>
<a href="${uri}¤tPage=${index}">${index}</a>
</#if>
</#list>
<#--如果后面页数过多,显示"...":-->
<#if (end lt pageCount)>
<#assign endend=end+5>
<#if (end>pageCount)>
<#assign end=pageCount>
</#if>
<a href="${uri}¤tPage=${end}" title="向后5页">...</a>
</#if>
<#-- 显示"下一页":-->
<#if (pageIndex lt pageCount)>
<a href="${uri}¤tPage=${pageCount}" title="末页">>></a>
</#if>
<#else>
nothing
</#if>
</#macro>
<@pagination pageCount=pageUtil.pageCount totalCount=pageUtil.totalCount uri=pageUtil.partUrl pageIndex=pageUtil.currentPage/>
</body>
</html>
分享到:
相关推荐
- **FreeMarker Page Filter**:用于处理Freemarker模板。 - **Struts2 Dispatcher Filter**:Struts2的核心过滤器,处理所有进入系统的请求。 ```xml <filter-name>sitemesh <filter-class>org.apache....
好用的 freemarker 分页宏模板dom结构比较主流的一个分页一排显示10个分页按钮(想定制的话把页码提取出来做为参数即可)pagenav.previousPage 存着上一页pagenav.totalPage 总页数pagenav.pageNo 当前页面页码page...
例如,可以创建一个`pagination.ftl`宏库,包含`firstPage`、`prevPage`、`nextPage`、`lastPage`等宏,以便于在模板中方便地调用。 5. **传递数据到视图**:在Action的execute方法或者专门的分页处理方法中,将...
- **下一页链接**:如果`currentPage`小于`totalPages`,则下一页链接为`currentPage + 1`。 - **页码范围**:为了优化用户体验,通常只显示一部分页码,例如前后5页。需要根据`currentPage`计算出显示的页码列表...
4. **整合Sitemesh和Freemarker**:为了让Sitemesh能够装饰Freemarker生成的页面,需要在Freemarker模板中添加特殊的指令,如`<@sitemesh.page>`,这告诉Sitemesh哪些部分是需要被装饰的。 5. **处理请求**:当用户...
在Controller中,我们需要根据请求参数(如`page`)实例化`Pager`对象,获取当前页的数据并传递给FreeMarker模板。模板接收到数据后,通过调用`paging`宏生成分页HTML。 总结起来,FreeMarker自定义分页标签宏的...
public ModelAndView examplePage() { Map, Object> model = new HashMap(); // 填充模型数据 model.put("title", "示例页面"); return new ModelAndView("example", model); } } ``` - 最后,创建`example...
在Java Web开发中,FreeMarker和Struts2是两个非常重要的技术组件。FreeMarker是一个模板引擎,用于生成动态HTML、XML等文档,而Struts2则是一个基于MVC设计模式的Web应用框架。本篇文章将深入探讨如何在Struts2框架...
在Java Web开发中,FreeMarker是一个非常常用的模板引擎,它允许开发者将业务逻辑与视图层分离,提高代码的可维护性和复用性。在这个"FreeMarker 写的一个分页macro(宏)测试"中,我们可以看到如何使用FreeMarker来...
最后,Controller将PageInfo对象传递给FreeMarker模板,模板根据这些信息生成带分页导航的页面。 通过这个Demo,你可以了解到如何在SSM项目中集成FreeMarker模板引擎,以及如何利用PageHelper进行高效的分页处理。...
- `#set`: 定义变量,如`<#set title="Welcome Page">`。 5. **最佳实践** - 分离模板和业务逻辑:模板只负责展示,而数据处理应在后端完成。 - 优化性能:避免在模板中进行复杂的逻辑计算。 - 使用模板继承和...
public ModelAndView examplePage() { ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "Hello, World!"); modelAndView.setViewName("example"); return modelAndView; } ...
<w:p ><w:r><w:br w:type="page" /></w:r></w:p> 分页符 基本步骤 1.用word做一个需要的格式模板,在需要替换的部分用“____”标记,存储为xml格式。 2.用myEclipse打开xml文档把“____”修改为freemarker标记 ...
基于Java语言来导出Word文档的方式也有很多种,如Jacob,Apache POI,Freemarker,PageOffice,java2word 等等。。。。 在这里将通过Freemarker这个模板引擎来实现导出 Word,项目不限于Swing,SSH,SSM,Spring ...
FMPP(FreeMarker Page Preprocessor)是一个强大的文本模板引擎,它能够将模板与数据模型合并,生成各种类型的文本输出,如HTML、XML、Java源代码等。FMPP不仅支持FreeMarker模板语言,还具备预处理功能,可以进行...
总的来说,FreeMarker 和 Spring MVC 的结合提供了一个高效、可扩展的Web应用开发解决方案,使得开发者可以专注于业务逻辑,而将视图层的渲染交给FreeMarker模板引擎来处理。通过阅读提供的手册,你可以掌握更多关于...
<title>Home Page ${message} ``` 10. **运行与测试**: 使用`mvn spring-boot:run`命令启动Spring Boot应用。然后,通过浏览器访问`http://localhost:8080/`,你应该能看到"Hello, Spring Boot with ...
在给定的压缩包文件中,我们可以看到几个关键的FTL(FreeMarker Template Language)文件,它们是代码生成器的前台页面模板,包括Browse.ftl、EditPage.ftl、AddPage.ftl和Detail.ftl。 1. **Browse.ftl**:这个...
JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......
[scope="{page|request|session|application}"]/> ``` **Freemarker:** ```freemarker ``` 在定义变量方面,Freemarker使用`<#assign>`标签,其语法简单直观。 #### 多重判断 **JSP:** ```jsp ... ......