📄 urlencodertag.java
字号:
/*
* Created on 2004-3-9 By Liudong
*/
package jdlog.util.tags;
import java.io.IOException;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.AccessController;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import sun.security.action.GetPropertyAction;
/**
* 用于编码URL字串的标签库
* @author Liudong
*/
public class URLEncoderTag extends BodyTagSupport {
/* (non-Javadoc)
* @see javax.servlet.jsp.tagext.Tag#doStartTag()
*/
public int doStartTag() throws JspException {
return EVAL_BODY_BUFFERED;
}
/* (non-Javadoc)
* @see javax.servlet.jsp.tagext.Tag#doStartTag()
*/
public int doEndTag() throws JspException {
Reader reader = getBodyContent().getReader();
char[] buf = new char[32];
try{
StringBuffer content = new StringBuffer(32);
do{
int rc = reader.read(buf);
if(rc>0)
content.append(buf,0,rc);
if(rc<32)
break;
}while(true);
pageContext.getOut().write(encodeURL(content.toString()));
}catch(IOException e0){
}
return EVAL_PAGE;
}
/**
* URL字符编码
* @param url
* @return
* @throws UnsupportedEncodingException
*/
public String encodeURL(String url) throws UnsupportedEncodingException {
String dfltEncName = (String)AccessController.doPrivileged(new GetPropertyAction("file.encoding"));
return URLEncoder.encode(url,dfltEncName);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -