jsp 自定義分頁標簽_JSP教程
推薦:JSP Struts之HTML標簽庫詳解JSP Struts之HTML標簽庫詳解Struts提供了五個標簽庫,即:HTML、Bean、Logic、Template和Nested。 標簽庫 說明 HTML 標簽 用來創(chuàng)建能夠和Struts 框架和其他相應的HTML 標簽交互的HTML 輸
花了一上午簡單研究了下自定義標簽。就弄了個自定義的分頁標簽。代碼沒有怎么仔細優(yōu)化。先貼上來,:)
1,標簽的實現(xiàn)類NumenTag.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
/** *//**
* 自定義的分頁標簽
*
* @author 馬萬林
*
*/
public class NumenTag extends TagSupport {
private String url = null;
private Result result;
private String page = null;
private String[] p;
private Map kv = new HashMap();
private List key = null;
/** *//**
* 分離參數(shù)
* @param params
*/
public void setParams(String params) {
key = new ArrayList();
p = params.split(";");
for (int i = 0; p.length>1&&i < p.length; i ) {
kv.put(p[i].split(":")[0], p[i].split(":")[1]);
key.add(p[i].split(":")[0]);
}
}
/** *//**
* 分頁的結果
* @param result
*/
public void setResult(String result) {
this.result = (Result) pageContext.getRequest().getAttribute("result");
this.page = (String) pageContext.getRequest().getAttribute("page");
}
public void setUrl(String url) {
this.url = url;
}
public int doStartTag() throws JspException {
StringBuffer sb = null;
if (result != null && result.getContent() != null
&& result.getContent().size() > 0) {
sb = new StringBuffer("分頁: ");
if (result.getPage().getHasPrePage()){
sb.append(" if (url.indexOf("?") == -1)
sb.append("?page=1");
else
sb.append("&page=1");
linkParams(sb);
sb.append("'>").append("首頁").append("").append(" | ");
sb.append(" if (url.indexOf("?") == -1)
sb.append("?page=").append(
result.getPage().getPreviousPage());
else
sb.append("&page=").append(
result.getPage().getPreviousPage());
linkParams(sb);
sb.append("'>").append("上頁").append("").append(" | ");
}
if (result.getPage().getHasNextPage()) {
sb.append(" if (url.indexOf("?") == -1)
sb.append("?page=").append(result.getPage().getNextPage());
else
sb.append("&page=").append(result.getPage().getNextPage());
linkParams(sb);
sb.append("'>").append("下頁").append("").append(" | ");
sb.append(" if (url.indexOf("?") == -1)
sb.append("?page=").append(result.getPage().getTotalPage());
else
sb.append("&page=").append(result.getPage().getTotalPage());
linkParams(sb);
sb.append("'>").append("尾頁").append("");
}
sb
.append(" 跳轉(zhuǎn)到:");
sb.append("");
}
try {
if (sb != null) {
JspWriter out = pageContext.getOut();
out.print(sb);
}
} catch (Exception e) {
throw new JspException(e);
}
return EVAL_PAGE;
}
/** *//**
* 鏈接參數(shù)處理
* @param sb
*/
private void linkParams(StringBuffer sb) {
for (int i = 0; i < key.size(); i ) {
sb.append("&").append(key.get(i)).append("=").append(
kv.get(key.get(i)));
}
}
}
2,標簽定義文件numentag.tld
3.js <%@ page contentType="text/html; charset=utf-8"%>
<%@ include file="/common/taglibs.jsp"%>
<%@ taglib uri="/WEB-INF/numentag.tld" prefix="n"%>
http://blog.csdn.net/numen_wlm/archive/2007/01/30/1497778.aspx
分享:JSP中文亂碼問題解決方法小結在使用JSP的過程中,最使人頭疼的一個問題就是中文亂碼問題,以下是我在軟件開發(fā)中遇到的亂碼問題以及解決方法。 1、JSP頁面亂碼 這種亂碼的原因是應為沒有在頁面里指定使用的字符集編
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復習整理
- JSP腳本元素和注釋復習總結示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關鏈接:
- 教程說明:
JSP教程-jsp 自定義分頁標簽
。