使用标签对HTML特殊字符进行转义
2011-11-10 21:47
549 查看
Java代码
public class HtmlFilterTag extends BodyTagSupport {
@Override
public int doEndTag() throws JspException {
if (bodyContent != null) {
String content = bodyContent.getString();
content = filter(content);
try {
bodyContent.getEnclosingWriter().write(content);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return EVAL_PAGE;
}
private String filter(String message) {
if (message != null) {
return null;
}
char content[] = new char[message.length()];
message.getChars(0, message.length(), content, 0);
StringBuffer result = new StringBuffer(content.length + 50);
for (int i = 0; i < content.length; i++) {
switch (content[i]) {
case '<':
result.append("<");
break;
case '>':
result.append(">");
break;
case '&':
result.append("&");
break;
case '“':
result.append(""");
break;
default:
result.append(content[i]);
break;
}
}
return result.toString();
}
}
public class ReadFileTag extends TagSupport {
private String src;
public void setSrc(String src) {
this.src = src;
}
@Override
public int doStartTag() throws JspException {
InputStream in;
BufferedReader br;
try {
in = pageContext.getServletContext().getResourceAsStream(src);
br = new BufferedReader(new InputStreamReader(in));
String line = br.readLine();
while (line != null) {
pageContext.getOut().write(line + "\r\n");
line = br.readLine();
}
} catch (Exception e) {
e.getMessage();
}
return SKIP_BODY;
}
}
Html代码
<tag>
<name>htmlfilter</name>
<tag-class>tag.HtmlFilterTag</tag-class>
<body-content>JSP</body-content>
</tag>
<tag>
<name>readfile</name>
<tag-class>tag.ReadFileTag</tag-class>
<attribute>
<name>src</name>
<required>true</required>
</attribute>
<body-content>empty</body-content>
</tag>
Html代码
<wangtong:htmlfilter>
<wangtong:readfile src="tag.jsp"/>
</wangtong:htmlfilter>
public class HtmlFilterTag extends BodyTagSupport {
@Override
public int doEndTag() throws JspException {
if (bodyContent != null) {
String content = bodyContent.getString();
content = filter(content);
try {
bodyContent.getEnclosingWriter().write(content);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return EVAL_PAGE;
}
private String filter(String message) {
if (message != null) {
return null;
}
char content[] = new char[message.length()];
message.getChars(0, message.length(), content, 0);
StringBuffer result = new StringBuffer(content.length + 50);
for (int i = 0; i < content.length; i++) {
switch (content[i]) {
case '<':
result.append("<");
break;
case '>':
result.append(">");
break;
case '&':
result.append("&");
break;
case '“':
result.append(""");
break;
default:
result.append(content[i]);
break;
}
}
return result.toString();
}
}
public class ReadFileTag extends TagSupport {
private String src;
public void setSrc(String src) {
this.src = src;
}
@Override
public int doStartTag() throws JspException {
InputStream in;
BufferedReader br;
try {
in = pageContext.getServletContext().getResourceAsStream(src);
br = new BufferedReader(new InputStreamReader(in));
String line = br.readLine();
while (line != null) {
pageContext.getOut().write(line + "\r\n");
line = br.readLine();
}
} catch (Exception e) {
e.getMessage();
}
return SKIP_BODY;
}
}
public class HtmlFilterTag extends BodyTagSupport { @Override public int doEndTag() throws JspException { if (bodyContent != null) { String content = bodyContent.getString(); content = filter(content); try { bodyContent.getEnclosingWriter().write(content); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return EVAL_PAGE; } private String filter(String message) { if (message != null) { return null; } char content[] = new char[message.length()]; message.getChars(0, message.length(), content, 0); StringBuffer result = new StringBuffer(content.length + 50); for (int i = 0; i < content.length; i++) { switch (content[i]) { case '<': result.append("<"); break; case '>': result.append(">"); break; case '&': result.append("&"); break; case '“': result.append("""); break; default: result.append(content[i]); break; } } return result.toString(); } } public class ReadFileTag extends TagSupport { private String src; public void setSrc(String src) { this.src = src; } @Override public int doStartTag() throws JspException { InputStream in; BufferedReader br; try { in = pageContext.getServletContext().getResourceAsStream(src); br = new BufferedReader(new InputStreamReader(in)); String line = br.readLine(); while (line != null) { pageContext.getOut().write(line + "\r\n"); line = br.readLine(); } } catch (Exception e) { e.getMessage(); } return SKIP_BODY; } }
Html代码
<tag>
<name>htmlfilter</name>
<tag-class>tag.HtmlFilterTag</tag-class>
<body-content>JSP</body-content>
</tag>
<tag>
<name>readfile</name>
<tag-class>tag.ReadFileTag</tag-class>
<attribute>
<name>src</name>
<required>true</required>
</attribute>
<body-content>empty</body-content>
</tag>
<tag> <name>htmlfilter</name> <tag-class>tag.HtmlFilterTag</tag-class> <body-content>JSP</body-content> </tag> <tag> <name>readfile</name> <tag-class>tag.ReadFileTag</tag-class> <attribute> <name>src</name> <required>true</required> </attribute> <body-content>empty</body-content> </tag>
Html代码
<wangtong:htmlfilter>
<wangtong:readfile src="tag.jsp"/>
</wangtong:htmlfilter>
相关文章推荐
- 使用apache common lang包下的StringEscapeUtils来对html,sql等特殊字符进行转义
- jquery ajax对特殊字符进行转义防止js注入使用示例
- 使用jquery对特殊字符进行转义,防止js注入
- 如何使用jquery对特殊字符进行转义,防止js注入
- 使用jquery对特殊字符进行转义,防止js注入
- 如何让在Html中特殊字符被数据加载时对于html标签的自动转义 补充
- 使用Js让Html中特殊字符不被转义
- 用Javascript(js)进行HTML转义工具(处理特殊字符显示)
- 使用Js让Html中特殊字符不被转义
- 用Javascript(js)进行HTML转义工具(处理特殊字符显示)
- 使用jquery ajax对特殊字符进行转义,防止js注入
- html、javascript、url特殊字符的转义诠释及使用方法详解
- struts2 升级到2.3.8后 使用property标签 html字符转义
- 用Javascript(js)进行HTML转义工具(处理特殊字符显示)
- 使用ajax保存ueditor中的编辑内容需要转义特殊字符才能进行传参
- html常用标签及特殊字符总结
- java后台对前端输入的特殊字符进行转义
- HTML快速入门8——HTML分隔符,一般语法,PRE标签,特殊字符显示