惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
月光博客
月光博客
AI
AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
O
OpenAI News
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
L
LINUX DO - 最新话题
人人都是产品经理
人人都是产品经理
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
The Hacker News
The Hacker News
Y
Y Combinator Blog
Latest news
Latest news
SecWiki News
SecWiki News
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cisco Blogs
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题

博客园 - waya

解決MySQL中文亂碼 java的圖像縮略方法 攝影用光 Flex調試工具Flextracepanel linux下安裝JDK5 Installing Flex Data Services on JBoss 得到不同時區的當前時間 - waya - 博客园 Flex實現的一些小應用,截幾個界面圖留驗 一個便宜的高负载网站架构 同時啟動多個Tomcat服務器 - waya - 博客园 在同一臺機器上同時啟動多個JBOSS spring2與spring1的單例模式的配置區別 Flex的多行表頭 Trace到文件的設置 開啟整屏窗口並無痕關閉父窗口 隱藏顯示表格行;確認提示窗口;開啟定制窗口 Log4j日志异步写入數據庫 時間字符串轉換 URL编码表一览
參數URL編碼
waya · 2006-12-13 · via 博客园 - waya

自定義一個JSP標簽,對參數進行URL編碼轉換:

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

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 對字符進行URL編碼.
 * 
 * 
@author wang
 * 
 
*/

public class URLEncoderTag extends BodyTagSupport {

    
/**
     * 
     
*/

    
private static final long serialVersionUID = 1L;

    
public int doStartTag() throws JspException {
        
return TagSupport.EVAL_BODY_AGAIN;
    }


    
public int doAfterBody() throws JspException {
        BodyContent body 
= getBodyContent();// 得到標簽主體的內容
        String b = body.getString();
        JspWriter out 
= body.getEnclosingWriter();
        
try {
            b
=b.replaceAll("&""&");
            b
=b.replaceAll("&lt;""<");
            b
=b.replaceAll("&gt;"">");
            b
=b.replaceAll("&quot;""\"");
            b=b.replaceAll("&nbsp;""");
            b
=b.replaceAll("""-");
            b
=b.replaceAll("""");
            b
=b.replaceAll("""");
            b
=b.replaceAll("'""\'");
            String s
=java.net.URLEncoder.encode(b.trim(), "UTF-8");
            out.write(s);
// 對標簽主體的內容進行URL編碼
        }
 catch (IOException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return TagSupport.SKIP_BODY;
    }


}

codetag.tld文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib
  PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
  "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"
>
<taglib>
    
<tlibversion>1.0</tlibversion>
    
<jspversion>1.1</jspversion>
    
<shortname>Application Tag Library</shortname>
    
<info></info>
    
<tag>
        
<name>urlencoder</name>
        
<tagclass>標簽類的類名</tagclass>
    
</tag>
</taglib>

JSP中使用標簽:

<%@taglib uri="/tags/code-tag" prefix="code"%>
<href="imageview.jsp?partNo=<code:urlencoder>AB&&#@TT</code:urlencoder>">測試</a>

服務端解碼:

java.net.URLDecoder.decode(客戶端轉來的值,"UTF-8");