`
kfcman
  • 浏览: 396854 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

发布一个freemarker仿discuz分页标签的marco

阅读更多
<#macro page_table>
<table cellpadding="0" cellspacing="0" border="0" class="pageTable">
<tr>
   <td align="left" width="*">
    <#nested />
   </td>
   <td align="right" width="100">
    &nbsp;
   </td>
</tr>
</table>
</#macro>

<#macro page_nav actionUrl page param extra...>
<#assign end=(actionUrl?index_of(".action")) />
<#assign actionName>${actionUrl?substring(0,end)}</#assign>

<form id="${actionName}" name="${actionName}" method="post" action="${actionUrl}">
<input type="hidden" id="pageNo" name="${param}.pageNo" value="" />
<#list extra?keys as attr>
   <input type="hidden" name="${attr}" value="${extra[attr]}" />
</#list>
<table border="0" align="left" cellpadding="0" cellspacing="0" width="auto">
   <tr>
    <td class="pagination">
     <div class="pagination_totalCount">第${page.pageNo}页</div>
     <#if (page.pageNo gt 1) >
      <div class="pagination_index" onclick="coos.form.submit.page('${actionName}','${page.pageNo-1}');">
       <span class="arrow">&lt;&lt;</span>
      </div>
     </#if>
   
     <#if (page.pageNo gt 9)>
      <#assign starPage=(page.pageNo - 4) />
      <#if ((page.totalPages - page.pageNo)>4)>
       <#assign endPage=(page.pageNo + 4) />
      <#else>
       <#assign endPage=page.totalPages />
      </#if>
     <#elseif (page.totalPages lt 10)>
      <#assign starPage=1 />
      <#assign endPage=page.totalPages />
     <#else>
      <#assign starPage=1 />
      <#assign endPage=10 />
     </#if>
   
     <#list starPage..endPage as i>   
      <#if i == page.pageNo>
       <div class="pagination_curr" onclick="coos.form.submit.page('${actionName}','${i}');">${i}</div>
      <#else>
       <div class="pagination_index" onclick="coos.form.submit.page('${actionName}','${i}');">${i}</div>
      </#if>
     </#list>
   
     <#if (page.pageNo lt page.totalPages) >
      <div class="pagination_index" onclick="coos.form.submit.page('${actionName}','${page.pageNo+1}');">
       <span class="arrow">&gt;&gt;</span>
      </div>
     </#if>
     <div class="pagination_totalCount">共${page.totalPages}页,${page.totalCount}条记录</div>
    </td>
   </tr>
</table>
</form>
</#macro>

=============

对应css样式

=============

.pagination
{
color: #878787;border: 1px solid #D9D9D4; background: #f7f7f7;cursor: pointer;
height: 20px !important;height: 24px;padding:0px;
}
.pagination_curr
{
color: red;float: left;text-align: center;line-height: 150%;
width: 20px;height: 100%;font-size: 14px;background-color: #ccc;
}
.pagination_index
{
color: black;float: left;text-align: center;
width: 20px;height: 100%;font-size: 14px;line-height: 150%;
}
.pagination_totalCount
{
font-size: 12px;color: black;float: left;text-align: center;line-height: 150%;
padding-top: 2px;padding-left: 5px;padding-right: 5px;
width: auto;height: 18px !important;height: 22px;
}
.paginationLine
{
margin-top:5px;text-align: right;
}
.arrow
{
font-size: 10px;
}
分享到:
评论

相关推荐

    FreeMarker通用的分页

    对于其他页,则生成一个带有`href`属性的链接,链接到相应的页面。 #### 4. 实现细节 - **循环迭代**:`&lt;#list&gt;`语句用于迭代指定的页码范围,构建每个页码的显示或链接。 - **条件渲染**:通过`&lt;#if&gt;`结构控制...

    freemarker的分页功能

    Freemarker是一个用于生成动态文本的模板引擎,它被广泛应用于Web开发中,用于将数据模型转换成HTML、XML或其他格式的文档。分页功能在Web应用中非常常见,它允许用户在大量数据中通过页面跳转来查看不同的数据片段...

    freemarker自定义分页标签宏

    在这个主题“freemarker自定义分页标签宏”中,我们将深入探讨如何在FreeMarker中创建自定义的分页标签宏,以便更有效地管理和展示大量数据。 首先,分页是一种常见的网页设计技术,用于将大量数据分割成小块,使...

    freemarker 实现宏分页

    通过定义宏,我们可以创建一个通用的分页组件,便于在多个页面上重复使用。 1. **宏定义**: 在FreeMarker中,宏定义通常放在`.ftl`文件的`&lt;#macro&gt;`和`&lt;/#macro&gt;`标签之间。宏的参数可以像函数参数一样定义,例如...

    freemarker自定义的通用分页指令(标签)源码和使用示例

    一个用FTL定义的非常通用数据分页指令,有源码,有使用示例。使用效果图可以参看本人博客中的相关文章:http://blog.csdn.net/qjyong/archive/2009/10/18/4693142.aspx

    freemarker 自定义freeMarker标签

    例如,你可以创建一个自定义标签用于处理分页数据,接受页码和每页数量作为参数,然后在后台查询数据库并返回相应的页面内容。 此外,FreeMarker还支持自定义函数,它们类似于JavaScript中的函数,可以接收参数并...

    Freemarker分页

    Freemarker分页是Web开发中的一个重要概念,它主要用于在大量数据展示时,将结果集分割成多个小块,每次只加载一部分数据,提高页面加载速度并提升用户体验。在这个例子中,我们看到的是如何在使用Struts2框架的基础...

    httpclient,freemarker的静态化分页

    1. **设计模板**:根据网页设计,创建一个`freemarker`模板,定义好动态数据的占位符。 2. **请求数据**:使用`httpclient`发送HTTP请求,获取动态网页的数据,这可能包括分页链接、每页内容等。 3. **解析数据**...

    FreeMarker 写的一个分页macro(宏)测试

    在这个"FreeMarker 写的一个分页macro(宏)测试"中,我们可以看到如何使用FreeMarker来实现一个简单的分页功能。下面我们将深入探讨这一主题。 首先,`PaginationUtil.java`可能是实现分页逻辑的工具类。在Java中,...

    freemarker_struts2分页

    最后,为了使用户点击分页链接时能够正确跳转并更新页面,你需要在Action类中添加一个接收新页面参数的方法,然后重定向到同一个Action,以便FreeMarker重新渲染页面。 总的来说,FreeMarker和Struts2结合实现分页...

    freemarker+struts2仿QQ分页效果

    最近比较闲,想起来一直没时间做一个好点的分页效果。嗯马上做一个。分页都太熟悉了。以往用的分页都是比较常见的就是上一页,下一页,顶多再加个跳转到第几页。但是有没有好点的效果呢?因为现在一般都用strut2,...

    Freemarker 自定义标签 简单案例

    在提供的"TestFreemarkerDiy"示例中,可能包含了一个简单的自定义标签实现以及一个演示如何使用该标签的Freemarker模板文件。通过分析这个示例,我们可以学习如何在实际项目中应用自定义标签,以提高模板的可维护性...

    Freemarker简介及标签详解大全

    FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写。FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序。虽然 FreeMarker 具有一些编程的能力,但通常由 ...

    SSM+websocket+freemarker+mybatis分页插件+多数据源实现

    标题 "SSM+websocket+freemarker+mybatis分页插件+多数据源实现" 涉及到的是一个综合性的Java Web项目,其中包含了多个关键的技术组件。以下是这些技术组件的详细说明: 1. **Spring(SSM中的S)**:Spring是一个...

    freemarker及jeecms标签使用学习文档

    Freemarker是一个强大的模板引擎,常用于Web应用中的视图层开发,与Java后端框架如SpringMVC、Struts2等结合使用,能够将业务逻辑与表现层分离,提高代码的可维护性和可扩展性。这篇学习文档将带你深入理解...

    Spring,Spring Data Jpa,freemarker,bootstrap实现的分页源代码

    在本项目中,我们主要探讨了如何利用Spring框架、Spring Data JPA、FreeMarker模板引擎以及Bootstrap前端框架来实现一个高效且用户友好的分页功能。以下是对这些技术及其在分页实现中作用的详细解释。 **Spring框架...

    freemarker分页

    分页是将一个大的数据集分割成若干小的部分,每个部分称为一页,用户可以逐页浏览,而不是一次性加载所有数据。这不仅有利于提升页面加载速度,还可以节省用户的浏览时间。 在Freemarker中实现分页,主要涉及到以下...

    freemarker 标签大全

    访问freemarker标签大全:http://www.web-tag.net/all_16.htm freemarker 标签大全 freemarker 标签大全

    freemarker实现一行两列算法

    Freemarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。这些模板几乎可以用来生成任何格式的输出,如HTML、XML、Java源代码等。Freemarker的核心功能是将数据模型与表现层分离,使得开发者能够更...

    FreeMarker分页宏模板freemarker-pagenav.zip

    好用的 freemarker 分页宏模板dom结构比较主流的一个分页一排显示10个分页按钮(想定制的话把页码提取出来做为参数即可)pagenav.previousPage 存着上一页pagenav.totalPage 总页数pagenav.pageNo 当前页面页码page...

Global site tag (gtag.js) - Google Analytics