程序开发

Java自定义分页标签类

时间:2013-10-25 21:11:19  作者:www.solgle.com  来源:说歌社区  查看:324  评论:0
内容摘要:1,标签的实现类NumenTag.javaimport java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.jsp...
1,标签的实现类NumenTag.java

import java.util.ArrayList;
Java自定义分页标签类import java.util.HashMap;
Java自定义分页标签类import java.util.List;
Java自定义分页标签类import java.util.Map;
Java自定义分页标签类
Java自定义分页标签类import javax.servlet.jsp.JspException;
Java自定义分页标签类import javax.servlet.jsp.JspWriter;
Java自定义分页标签类import javax.servlet.jsp.tagext.TagSupport;
Java自定义分页标签类
/** *//**
Java自定义分页标签类 * 自定义的分页标签
Java自定义分页标签类 *
Java自定义分页标签类 * @author 马万林
Java自定义分页标签类 *
Java自定义分页标签类 */
public class NumenTag extends TagSupport {
Java自定义分页标签类
Java自定义分页标签类 private String url = null;
Java自定义分页标签类
Java自定义分页标签类 private Result result;
Java自定义分页标签类
Java自定义分页标签类 private String page = null;
Java自定义分页标签类
Java自定义分页标签类 private String[] p;
Java自定义分页标签类
Java自定义分页标签类 private Map kv = new HashMap();
Java自定义分页标签类
Java自定义分页标签类 private List key = null;
Java自定义分页标签类
 /** *//**
Java自定义分页标签类 * 分离参数
Java自定义分页标签类 * @param params
Java自定义分页标签类 */
public void setParams(String params) {
Java自定义分页标签类 key = new ArrayList();
Java自定义分页标签类 p = params.split(";");
 for (int i = 0; p.length>1&&i < p.length; i++) {
Java自定义分页标签类 kv.put(p[i].split(":")[0], p[i].split(":")[1]);
Java自定义分页标签类 key.add(p[i].split(":")[0]);
Java自定义分页标签类 }
Java自定义分页标签类 }
Java自定义分页标签类

/** *//**
Java自定义分页标签类 * 分页的结果
Java自定义分页标签类 * @param result
Java自定义分页标签类 */
public void setResult(String result) {
Java自定义分页标签类 this.result = (Result) pageContext.getRequest().getAttribute("result");
Java自定义分页标签类 this.page = (String) pageContext.getRequest().getAttribute("page");
Java自定义分页标签类 }
Java自定义分页标签类
public void setUrl(String url) {
Java自定义分页标签类 this.url = url;
Java自定义分页标签类 }
Java自定义分页标签类
public int doStartTag() throws JspException {
Java自定义分页标签类 StringBuffer sb = null;
Java自定义分页标签类 if (result != null && result.getContent() != null && result.getContent().size() > 0) {
Java自定义分页标签类 sb = new StringBuffer("分页: ");
if (result.getPage().getHasPrePage()){
Java自定义分页标签类 sb.append("<a href='").append(url);
Java自定义分页标签类 if (url.indexOf("?") == -1)
Java自定义分页标签类 sb.append("?page=1");
Java自定义分页标签类 else
Java自定义分页标签类 sb.append("&page=1");
Java自定义分页标签类 linkParams(sb);
Java自定义分页标签类 sb.append("'>").append("首页").append("</a>").append(" | ");
Java自定义分页标签类 sb.append("<a href='").append(url);
Java自定义分页标签类 if (url.indexOf("?") == -1)
Java自定义分页标签类 sb.append("?page=").append(
Java自定义分页标签类 result.getPage().getPreviousPage());
Java自定义分页标签类 else
Java自定义分页标签类 sb.append("&page=").append(
Java自定义分页标签类 result.getPage().getPreviousPage());
Java自定义分页标签类 linkParams(sb);
Java自定义分页标签类 sb.append("'>").append("上页").append("</a>").append(" | ");
Java自定义分页标签类 }
if (result.getPage().getHasNextPage()) {
Java自定义分页标签类 sb.append("<a href='").append(url);
Java自定义分页标签类 if (url.indexOf("?") == -1)
Java自定义分页标签类 sb.append("?page=").append(result.getPage().getNextPage());
Java自定义分页标签类 else
Java自定义分页标签类 sb.append("&page=").append(result.getPage().getNextPage());
Java自定义分页标签类 linkParams(sb);
Java自定义分页标签类 sb.append("'>").append("下页").append("</a>").append(" | ");
Java自定义分页标签类 sb.append("<a href='").append(url);
Java自定义分页标签类 if (url.indexOf("?") == -1)
Java自定义分页标签类 sb.append("?page=").append(result.getPage().getTotalPage());
Java自定义分页标签类 else
Java自定义分页标签类 sb.append("&page=").append(result.getPage().getTotalPage());
Java自定义分页标签类 linkParams(sb);
Java自定义分页标签类 sb.append("'>").append("尾页").append("</a>");
Java自定义分页标签类 }
Java自定义分页标签类 sb
Java自定义分页标签类 .append(" 跳转到:<select name='goToPage' onchange='javascript:goPage(this.value)'>");
Java自定义分页标签类 int s = result.getPage().getTotalCount();
for (int i = 1; i <= s; i++) {
Java自定义分页标签类 sb.append("<option value=").append(i);
Java自定义分页标签类 if (Integer.parseInt(page) == i)
Java自定义分页标签类 sb.append(" selected");
Java自定义分页标签类 sb.append(">第").append(i).append("页</option>");
Java自定义分页标签类 }
Java自定义分页标签类 sb.append("</select>");
Java自定义分页标签类 sb.append("<script language=javascript>");
Java自定义分页标签类 sb.append("function goPage(page){").append("window.location='")
Java自定义分页标签类 .append(url);
Java自定义分页标签类 if (url.indexOf("?") == -1)
Java自定义分页标签类 sb.append("?page='+").append("page");
Java自定义分页标签类 else
Java自定义分页标签类 sb.append("&page='+").append("page");
Java自定义分页标签类 sb.append("+'");
Java自定义分页标签类 linkParams(sb);
Java自定义分页标签类 sb.append("';");
Java自定义分页标签类 sb.append("}");
Java自定义分页标签类 sb.append("</script>");
Java自定义分页标签类 }
try {
if (sb != null) {
Java自定义分页标签类 JspWriter out = pageContext.getOut();
Java自定义分页标签类 out.print(sb);
Java自定义分页标签类 }
} catch (Exception e) {
Java自定义分页标签类 throw new JspException(e);
Java自定义分页标签类 }
Java自定义分页标签类 return EVAL_PAGE;
Java自定义分页标签类 }
Java自定义分页标签类
/** *//**
Java自定义分页标签类 * 链接参数处理
Java自定义分页标签类 * @param sb
Java自定义分页标签类 */
private void linkParams(StringBuffer sb) {
for (int i = 0; i < key.size(); i++) {
Java自定义分页标签类 sb.append("&").append(key.get(i)).append("=").append(
Java自定义分页标签类 kv.get(key.get(i)));
Java自定义分页标签类 }
Java自定义分页标签类 }
Java自定义分页标签类
Java自定义分页标签类}

 

2,标签定义文件numentag.tld

Java自定义分页标签类<?xml version="1.0" encoding="utf-8" ?>
Java自定义分页标签类 <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
Java自定义分页标签类<taglib>
Java自定义分页标签类 <tlib-version>1.0</tlib-version>
Java自定义分页标签类 <jsp-version>1.2</jsp-version>
Java自定义分页标签类 <short-name>numen</short-name

标签:Java自定义分页标签类 

solgle.com 版权所有,欢迎分享!!!

相关文章
    相关评论
       Copyright © 2013-2020 solgle.com,All rights reserved.[solgle.com] 公安机关备案号:51010802000219
    Email:solgle@solgle.com; weixin:cd1008610000 ICP:蜀ICP备14011070号-1