<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    處理參數傳遞的jsp標簽

    一、定義標簽類

    package com.taglib.pageparameter;

    import javax.servlet.ServletRequest;
    import javax.servlet.jsp.tagext.TagSupport;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    /**
    ?* <p>Title: 參數傳遞標簽</p>
    ?* <p>Description: 統一處理頁面間的參數傳遞</p>
    ?* @author Administrator
    ?*
    ?*/
    public class ddd extends TagSupport {
    ? private String paraNames = null;? //參數串,以WebConfig.SEPARATE分隔

    ? public void setParaNames(String paraNames){
    ??? this.paraNames = paraNames ;
    ? }
    ? public String getParaNames(){
    ??? return this.paraNames;
    ? }

    ? public int doStartTag(){
    ?? if(this.paraNames==null)
    ??? return EVAL_BODY_INCLUDE;
    ??? String[] paras = this.paraNames.split(WebConfig.SEPARATE);???
    ??? this.transactPara(pageContext,paras);
    ??? return EVAL_BODY_INCLUDE ;
    ? }

    ? public int doEndTag(){
    ??? return EVAL_PAGE ;
    ? }
    ?
    ? /**
    ?? * 處理參數傳遞
    ?? * 規則:
    ?? * 1,如果不能在request范圍內找到相應name的參數,設置值為WebConfig.NULL=""
    ?? * 2,如果atrribute,parameter中同時存在同名的參數,以attribute中為主
    ?? * 3,將所有jsp頁面所需的參數轉換為attribute保存,在jsp頁面中通過<bean:write name="attributeName" />調用
    ?? * 4,涉及處理的參數包括:String[] args
    ?? * @param pageContext PageContext
    ?? * @param args String[]
    ?? */
    ? public void transactPara(PageContext pageContext,String[] args){
    ??? for (int i = args.length ; --i >= 0;) {
    ????? ServletRequest request = pageContext.getRequest() ;
    ????? Object attr=(String)request.getAttribute(args[i]);
    ????? String para=request.getParameter(args[i]);
    ????? if(attr==null)
    ??????? request.setAttribute(args[i], para==null?WebConfig.NULL:para);
    ??? }
    ? }

    }
    相關類
    package com.taglib.pageparameter;

    public class WebConfig{
    ???public static final String SEPARATE=";";//前臺web參數間隔離符號
    ???public final static String NULL = "";? //頁面間參數傳遞,name為空時設置的缺省值
    }

    二、標簽定義tld文件
    PageParameter.tld

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
    "<taglib>
    ?<tlibversion>1.0</tlibversion>
    ?<jspversion>1.1</jspversion>
    ?<shortname>PageParameter</shortname>
    ?<info></info>

    ? <tag>
    ??? <name>ParameterTransact</name>
    ??? <tagclass>com.taglib.pageparameter.PageParameterTag</tagclass>
    ??? <bodycontent>empty</bodycontent>
    ??? <info></info>
    ? ?<attribute>
    ????? <name>paraNames</name>
    ????? <required>true</required>
    ????? <rtexprvalue>true</rtexprvalue>
    ?? </attribute>
    ?</tag>
    </taglib>

    三、在web.xml中加載標簽
    四、jsp頁面調用

    <%@ page import="package com.taglib.pageparameter.WebConfig" %>
    <%@ taglib uri="/WEB-INF/Archive/PageParameter.tld" prefix="PageParameter" %>

    <PageParameter:ParameterTransact paraNames='<%="urlSQL"+WebConfig.SEPARATE+"page"%>'/>

    posted on 2006-08-29 13:24 hardson 閱讀(977) 評論(0)  編輯  收藏 所屬分類: java基礎

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲精品无码成人| 免费无码不卡视频在线观看| 在线A亚洲老鸭窝天堂| 欧洲美女大片免费播放器视频| 日韩在线免费看网站| 亚洲国产高清国产拍精品| 国产视频精品免费| 国产精品亚洲天堂| 成人亚洲综合天堂| 中文字幕乱码系列免费| 国产AV无码专区亚洲AVJULIA | 学生妹亚洲一区二区| 歪歪漫画在线观看官网免费阅读 | 日本免费一区二区三区| 亚洲色图古典武侠| 最近中文字幕国语免费完整 | 亚洲已满18点击进入在线观看| 成人免费午夜在线观看| 在线观看亚洲专区| 国产亚洲欧洲Aⅴ综合一区| 免费国产叼嘿视频大全网站| 亚洲一区综合在线播放| 最新欧洲大片免费在线| 看免费毛片天天看| 亚洲精品无码久久久久sm| 免费不卡在线观看AV| 亚洲人成色4444在线观看| 亚洲人成人无码网www国产| 久久国产精品一区免费下载| 亚洲制服在线观看| 国产午夜鲁丝片AV无码免费| 三级毛片在线免费观看| 亚洲AV综合色区无码二区偷拍 | 亚洲A∨无码无在线观看| 女人18毛片a级毛片免费| 国产精品美女免费视频观看| 亚洲视频在线观看网站| 又粗又硬又大又爽免费视频播放| 91精品全国免费观看青青| 亚洲中文字幕在线无码一区二区| 亚洲国产精品尤物YW在线观看|