`
Sev7en_jun
  • 浏览: 1225525 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
84184fc0-d0b6-3f7f-a3f0-4202acb3caf5
Apache CXF使用s...
浏览量:111305
社区版块
存档分类
最新评论

jsp自定义分页标签

阅读更多
<!-- 正文开始 -->

1.在web.config中添加 

<jsp-config>
 <taglib>
 <taglib-uri>/tld/page</taglib-uri>
 <taglib-location>/WEB-INF/tlds/page.tld</taglib-location>
 </taglib>
</jsp-config>

 

2.在WEB-INF下建立文件夹tlds,在文件夹下建立page.tld文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
 <tlib-version>1.0</tlib-version><!-- 标签库的版本 -->
 <jsp-version>1.2</jsp-version><!-- 这个标签库要求的JSP规范版本 -->
 <short-name>mytag</short-name><!-- JSP页面编写工具可以用来创建助记名的可选名字 -->
 <tag>
  <name>page</name><!-- 唯一标签名 -->
  <tag-class>com.crm.other.PageTag</tag-class>
  <body-content>empty</body-content><!-- 正文内容类型 -->
  <!-- 参数  -->
  <attribute>
   <name>url</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
  </attribute>
  <attribute>
   <name>strParam</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
  </attribute>
  <attribute>
   <name>totalRecoders</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
  </attribute>
  <attribute>
   <name>pageNo</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
  </attribute>
  <attribute>
   <name>totalPages</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
  </attribute>
  <attribute>
   <name>pre</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
  </attribute>
  <attribute>
   <name>next</name>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
  </attribute>
 </tag>
</taglib>

3.在包com.crm.other中建立一个类PageTag

package com.crm.other;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class PageTag extends TagSupport {
 
 private String url;
 private String strParam;
 private String totalRecoders;
 private String pageNo;
 private String totalPages;
 private String pre;
 private String next;
 
 public void setUrl(String url) {
  this.url = url;
 }
 
 public void setNext(String next) {
  this.next = next;
 }
 
 public void setPre(String pre) {
  this.pre = pre;
 }
 
 public void setTotalPages(String totalPages) {
  this.totalPages = totalPages;
 }
 
 public void setPageNo(String pageNo) {
  this.pageNo = pageNo;
 }
 
 public void setStrParam(String strParam) {
  this.strParam = strParam;
 }
 
 public void setTotalRecoders(String totalRecoders) {
  this.totalRecoders = totalRecoders;
 }
 
 @Override
 public int doStartTag() throws JspException {
  StringBuilder sb = new StringBuilder();
  sb.append("<script type='text/javascript'>");
  sb.append("function doPage(pageNo){");
  sb.append("var frm=document.getElementByIdx_x('pageForm');");
  sb.append("frm.pageNo.value=pageNo;");
  sb.append("frm.submit();");
  sb.append("}");
  sb.append("</script>");
  
  sb.append("<form action='");
  sb.append(url);
  sb.append("' id='pageForm' >");
  sb.append(" <div class='pager'>");
  
  sb.append(strParam);
  sb.append("共");
  sb.append(totalRecoders);
  sb.append("条记录 ");
  sb.append("第");
  sb.append(pageNo);
  sb.append("页/共");
  sb.append(totalPages);
  sb.append("页 ");
  sb.append("<a href='javascript:doPage(1)'>第一页</a> ");
  sb.append("<a href='javascript:doPage(");
  sb.append(pre);
  sb.append(")'>上一页</a> ");
  sb.append("<a href='javascript:doPage(");
  sb.append(next);
  sb.append(")'>下一页</a> ");
  sb.append("<a href='javascript:doPage(");
  sb.append(totalPages);
  sb.append(")'>最后一页</a> ");
  sb.append("转到<input type='text' name='pageNo' style='width:30px' value='' />页 ");
  sb.append("<input type='submit' value='GO' style='width:28px;' />");
  sb.append("</div>");
  
  sb.append("</form>");
  try {
   if (sb != null) {
     JspWriter out = pageContext.getOut();
     out.print(sb);
     }
  } catch (Exception e) {
   throw new JspException("错误");
  }
  
  return EVAL_PAGE;
 }
}

 

4.在页面上显示内容

添加标签<%@ taglib uri="/tld/page" prefix="myTag" %>

<myTag:page url="/crm/sal/salChance.do" strParam="${strParam}" totalRecoders="${page.totalRecords}" pageNo="${page.pageNo}" totalPages="${page.totalPages}" pre="${page.pre}" next="${page.next}"/>

 

其中在struts中查到的分页是要自己来写的,自己写出查到的内容,然后套进这些el表达式里面

分享到:
评论

相关推荐

    JSP自定义分页标签

    JSP自定义分页标签,mysql数据库,通过导入jar包,使用标签的方式实现分页的功能。

    JSP自定义分页标签 extends TagSupport

    JSP自定义分页标签 extends TagSupport 多种分页风格无需额外资源,使用简单易懂:WebRoot/WEB-INF/tms-tags.tld 文件路径

    JSP自定义标签分页

    JSP自定义标签分页+Struts1.x标签,包含标签分页类、标签tld文件、web.xml配置和调用例子,非常地简单。 只要在Action传request.setAttribute("listUser", listUser);到JSP即可实现自动分页,输出分页样式可以自己去...

    java自定义分页标签

    Java自定义分页标签是Java Web开发中一种高效、可复用的方法,它允许开发者创建自己的标签库,用于处理分页逻辑,提高代码的可读性和可维护性。本篇文章将详细探讨如何在Java中实现一个自定义分页标签。 首先,理解...

    jsp 对List的自定义分页标签

    jsp 对List的自定义分页标签 很好用的

    JSP自定义分页标签TAG全过程

    JSP自定义分页标签是一种在Java Server Pages中实现分页功能的自定义标签,它通过TLD文件(标签库描述文件)来定义和描述标签的属性和行为,实现分页显示的功能。以下是关于JSP自定义分页标签全过程的一些详细知识点...

    自定义分页标签 Java

    总结来说,自定义分页标签Java涉及到的知识点包括JSP标签库的创建、Java标签处理类的编写、数据库交互与SQL操作、请求参数处理、数据模型的设计以及优化策略。通过熟练掌握这些知识点,开发者可以构建出高效、灵活的...

    Struts2自定义分页标签

    本资源详细介绍了如何在Struts2中自定义分页标签,使得开发过程更加便捷。 在Struts2中,分页通常涉及到以下几个关键步骤: 1. **创建Action类**:首先,你需要创建一个Action类,该类将处理用户的请求,包括获取...

    一个功能强大的自定义分页标签

    "一个功能强大的自定义分页标签"实例提供了一种高效且灵活的方式来处理分页问题,特别是对于那些希望通过自定义逻辑来增强其应用程序分页功能的开发者而言。 自定义标签是JSP(JavaServer Pages)技术的一部分,它...

    非常好用的自定义分页标签

    在IT行业中,自定义分页标签是Web应用开发中常用的一种技术,特别是在Java Web开发领域。自定义标签(Custom Tags)允许开发者创建自己的HTML标签,这些标签可以封装复杂的逻辑,提高代码的可读性和可维护性。在这个...

    自定义分页标签源代码

    本自定义分页标签源代码提供了一种解决方案,它独立于数据库操作,仅处理分页逻辑,允许开发者专注于数据获取和展示。接下来,我们将详细讨论相关知识点。 1. **自定义标签**: 自定义标签是JSP中的一种特性,允许...

    基于struts2 自定义标签 分页

    在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与Oracle数据库进行交互。 首先,理解分页的基本概念至关重要。分页是将大量数据分成小块,...

Global site tag (gtag.js) - Google Analytics