⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tagwriter.java

📁 intra_mart是日本NDD公司开发的著名企业应用解决方案中间件。集成了J2ee服务器
💻 JAVA
字号:
/*
 * TagWriter.java
 *
 * Created on 2002/01/28, 18:10
 */

package jp.co.intra_mart.framework.base.web.tag;

import java.util.Collection;
import java.util.Iterator;
import java.net.URLEncoder;

import javax.servlet.jsp.JspWriter;

import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
 * 僞僌偺弌椡傪峴偄傑偡丅
 *
 * @author INTRAMART
 * @version 1.0
 */
public class TagWriter {

    /**
     * JSP弌椡巕
     */
    private JspWriter writer;

    /**
     * TagWriter傪怴婯偵惗惉偟傑偡丅
     *
     * @param writer JSP弌椡巕
     */
    public TagWriter(JspWriter writer) {
        this.writer = writer;
    }

    /**
     * 暋悢偺僷儔儊乕僞傪URL偵捛壛偟傑偡丅
     * <CODE>params</CODE>偼{@link FrameworkTagParam}偺廤崌乮<CODE>java.util.Collection</CODE>乯偱偁傞昁梫偑偁傝傑偡丅
     *
     * @param url 尦偺URL
     * @param params 捛壛偡傞僷儔儊乕僞
     * @return 僷儔儊乕僞偑捛壛偝傟偨URL
     * @throws IOException 弌椡帪偵椺奜偑敪惗
     * @deprecated 偙偺儊僜僢僪偱偼側偔{@link #createURL(String, Collection, String)}傪巊梡偟偰偔偩偝偄丅
     */
    public static String createURL(String url, Collection params)
        throws IOException {

        return createURL(url, params, null);
    }

    /**
     * 暋悢偺僷儔儊乕僞傪URL偵捛壛偟傑偡丅
     * <CODE>params</CODE>偼{@link FrameworkTagParam}偺廤崌乮<CODE>java.util.Collection</CODE>乯偱偁傞昁梫偑偁傝傑偡丅
     *
     * @param url 尦偺URL
     * @param params 捛壛偡傞僷儔儊乕僞
     * @param encoding 僄儞僐乕僨傿儞僌
     * @return 僷儔儊乕僞偑捛壛偝傟偨URL
     * @throws IOException 弌椡帪偵椺奜偑敪惗
     * @since 4.3
     */
    public static String createURL(
        String url,
        Collection params,
        String encoding)
        throws IOException {

        Iterator paramIterator = null;
        FrameworkTagParam param = null;
        boolean isFirstParameter = true;
        String result = url;

        if (params != null) {
            paramIterator = params.iterator();
            while (paramIterator.hasNext()) {
                param = (FrameworkTagParam)paramIterator.next();
                if (param.getValue() != null && !param.getValue().equals("")) {
                    if (isFirstParameter) {
                        isFirstParameter = false;
                        result += "?";
                    } else {
                        result += "&";
                    }
                    result += encode(param.getName(), encoding)
                        + "="
                        + encode(param.getValue(), encoding);
                }
            }
        }

        return result;
    }

    /**
     * 僄儞僐乕僪傪峴偄傑偡丅
     * 僄儞僐乕僨傿儞僌偑<code>null</code>偺応崌丄僔僗僥儉昗弨偺僄儞僐乕僨傿儞僌偑巊梡偝傟傑偡乮旕悇彠乯丅
     *
     * @param value 曄姺懳徾偺暥帤楍
     * @param encoding 僄儞僐乕僨傿儞僌
     * @return 曄姺偝傟偨暥帤楍
     * @throws UnsupportedEncodingException
     */
    private static String encode(String value, String encoding)
        throws UnsupportedEncodingException {

        if (encoding == null) {
            // 4.2屳姺梡
            return URLEncoder.encode(value);
        } else {
            return URLEncoder.encode(value, encoding);
        }
    }

    /**
     * URL傪弌椡偟傑偡丅
     * 偙偺url偼<CODE>&lt;FORM&gt;</CODE>僞僌偺<CODE>action</CODE>懏惈丄<CODE>&lt;A&gt;</CODE>僞僌偺<CODE>href</CODE>懏惈丄<CODE>&lt;FRAME&gt;</CODE>僞僌偺<CODE>src</CODE>懏惈側偳偵掕媊偡傞傕偺偲摨偠偱偡丅
     *
     * @param url 弌椡偡傞URL
     * @throws IOException 弌椡帪偵椺奜偑敪惗
     */
    public void printURL(String url) throws IOException {
        this.writer.print(url);
    }

    /**
     * 懏惈傪弌椡偟傑偡丅
     * 僞僌偺懏惈偲偟偰<CODE>懏惈柤=&quot;懏惈抣&quot;</CODE>偺宍幃偱弌椡偟傑偡丅
     * 懏惈抣偑null傑偨偼嬻暥帤楍偱偁傞応崌丄壗傕弌椡偟傑偣傫丅
     *
     * @param name 懏惈柤
     * @param value 懏惈抣
     * @throws IOException 弌椡帪偵椺奜偑敪惗
     */
    public void printAttribute(String name, String value) throws IOException {
        if (value != null && !value.equals("")) {
            this.writer.print(" " + name + "=\"" + value + "\"");
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -