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;
}
}
<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>
<wangtong:htmlfilter>
<wangtong:readfile src="tag.jsp"/>
</wangtong:htmlfilter>
分享到:
相关推荐
Spring MVC下彻底解决@ResponseBody转义html特殊字符问题,解决包括尖角号(),单引号('),双引号("),按位与(&),反斜杠(\)。
,> 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字符串(Escape Sequence),例如 < 的转义字符是 <,浏览器渲染 HTML 页面时,会自动把...
v-text 经过转义会显示标签等 v-html 不会经过转义 v-on:click 点击事件: v-on:click还有一种简短的形式:@click click函数定义在Vue实例 methods里面 调用函数方法形式:函数名:function(参数){内容} 属性绑定和数据...
,> 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字符串(Escape Sequence),例如 < 的转义字符是 <,浏览器渲染 HTML 页面时,会自动把...
HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。...为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字
今天小编就为大家分享一篇layui 对table中的数据进行转义的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。 比如这么一段 content: 复制代码 代码如下: ‘Lorem ipsum ...
EscapeHTML 是一个简单的 Swift 库用来对 HTML 中的特殊字符进行转义。 示例代码: import EscapeHTML escape("<p>some html</p>") 标签:EscapeHTML
有的时候页面中会有一个...html转义是将特殊字符或html标签转换为与之对应的字符。如:< 会转义为 <> 或转义为 >像“[removed]alert(‘test’);[removed]”这段字符会转义为:“[removed]alert(‘test
ES6带标签的模板,用于编译HTML模板字符串。 安装 该软件包通过npm分发: ... 但是,它可以转义HTML特殊字符,而不会在循环中使用它! var html = require ( "html-template-tag" ) ; // - or - import {
这种样式只会对当前标签起作用,不能对样式进行复用,不方便后期维护,不推荐使用 2.内部样式表 将样式表编写到head中的style标签中 <style type="text/css"></style> 使用内部样式表,进一步将表现和结构...
2.autoescape标签:DTL模板中默认已经开启了自动转义,会将那些特殊字符串进行转义,比如会将“<”转义成<会将“>”转移成“>”,使用DTL的自动转义,可以使网站不容易出现XSS漏洞。 如果变量是可信任的,那么...
HTML Attribute Filter * Func: * public strip 过滤属性 * public setAllow 设置允许的属性 * public setException 设置特例 * public setIgnore 设置忽略的标记 ...* private protect 特殊字符转义
引号字符串(使用单个或双引号,除了',''转义情况外) HTML与XML标签(包含上下级以及属性操作) 逗号分隔以及被限制的列表表达式 轻量级封装-Pyparsing的代码包含在单个python文件中,容易放进site-packages目录下,...
下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为:字符 说明 \将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”...
直接指定字符串值使用单引号或双引号限定,如果字符串值中包含特殊字符需要转义,看下面的例子: ${"我的文件保存在C:\\盘"} ${'我名字是\"annlee\"'} 输出结果是: 我的文件保存在C:\盘 我名字是"annlee" FreeMarker...
• sample02.htm 使用转义字符 • sample03.htm 数组直接量的使用方法 • sample04.htm 数组直接量 • sample05.htm 函数直接量的使用方法 • sample06.htm 对象直接量 第...
5.14 对正则表达式元字符进行转义 第6章 数字 6.1 整数 6.2 十六进制数字 6.3 二进制数 6.4 删除前导 6.5 位于某个特定范围之内的整数 6.6 在某个特定范围之内的十六进制数 6.7 浮点数 6.8 含有千位分隔符的数 6.9 ...
5.14 对正则表达式元字符进行转义 第6章 数字 6.1 整数 6.2 十六进制数字 6.3 二进制数 6.4 删除前导 6.5 位于某个特定范围之内的整数 6.6 在某个特定范围之内的十六进制数 6.7 浮点数 6.8 含有千位分隔符...