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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - waya

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