jsp 自定義分頁標(biāo)簽_JSP教程
推薦:JSP Struts之HTML標(biāo)簽庫詳解JSP Struts之HTML標(biāo)簽庫詳解Struts提供了五個(gè)標(biāo)簽庫,即:HTML、Bean、Logic、Template和Nested。 標(biāo)簽庫 說明 HTML 標(biāo)簽 用來創(chuàng)建能夠和Struts 框架和其他相應(yīng)的HTML 標(biāo)簽交互的HTML 輸
花了一上午簡單研究了下自定義標(biāo)簽。就弄了個(gè)自定義的分頁標(biāo)簽。代碼沒有怎么仔細(xì)優(yōu)化。先貼上來,:)
1,標(biāo)簽的實(shí)現(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;
/** *//**
* 自定義的分頁標(biāo)簽
*
* @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]);
}
}
/** *//**
* 分頁的結(jié)果
* @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,標(biāo)簽定義文件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中文亂碼問題解決方法小結(jié)在使用JSP的過程中,最使人頭疼的一個(gè)問題就是中文亂碼問題,以下是我在軟件開發(fā)中遇到的亂碼問題以及解決方法。 1、JSP頁面亂碼 這種亂碼的原因是應(yīng)為沒有在頁面里指定使用的字符集編
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實(shí)現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項(xiàng)目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對(duì)路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對(duì)路徑下的圖片解決方法
JSP教程Rss訂閱編程教程搜索
JSP教程推薦
- s:set 和 s:date 使用, 在jsp判斷日期
- JSP是什么?JSP是什么意思?
- Struts初級(jí)教程(2)-避免出現(xiàn)亂碼
- JSP實(shí)例:Java實(shí)現(xiàn)隨機(jī)驗(yàn)證碼功能實(shí)例
- Sun微系統(tǒng)預(yù)計(jì)下一代Java手機(jī)技術(shù)年內(nèi)將問世
- 解密21種Java開發(fā)中應(yīng)避免的錯(cuò)誤
- J2ME程序打包發(fā)布小技巧
- 在無線J2ME設(shè)備上實(shí)現(xiàn)HTTP協(xié)議1
- J2ME 3D編程的第一個(gè)3D程序
- 如何在Struts 2中實(shí)現(xiàn)文件上傳
- 相關(guān)鏈接:
- 教程說明:
JSP教程-jsp 自定義分頁標(biāo)簽
。