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>
分享到:
相关推荐
因此,对用户提交的数据进行适当的转义是至关重要的。本文将详细介绍几种常用的用于处理表单提交字符的函数,包括在PHP和JavaScript中的应用。 #### PHP中的转义函数 1. **htmlspecialchars()** - **功能**:此...
为了解决这个问题,我们需要使用转义字符序列来代替这些特殊字符。 例如,小于号 `的转义序列是 `<`,大于号 `>` 的转义序列是 `>`,和号 `&` 的转义序列是 `&`。这样,即使在文本中出现这些特殊字符,...
在HTML文档中,为了正确地显示某些特殊字符,如小于号(<)、大于号(>)等,需要使用转义字符来替代这些特殊符号。转义字符是HTML的一种特殊语法,用于在网页中插入无法直接输入或可能与HTML语法冲突的字符。本文将...
在HTML中,特殊字符如 `、`>`、`&` 等会被浏览器自动转义,以防止它们被解析为HTML标签或实体。如果希望在`<textarea>`元素内部显示这些特殊字符而不被转义,可以采取一些方法来实现。下面我们将详细探讨这个问题。 ...
当使用默认配置的Gson对象来序列化这个列表时,Gson会自动将特殊字符转义为Unicode形式,如`"\\u200B\\u200B&"` 和 `"\\u200B&"`。虽然这样处理不会影响数据的解析,但在某些情况下,这种转义可能会导致问题,比如...
在JSP中,我们可以使用JSTL的`<c:out>`标签来自动转义特殊字符,如`${r.content}" />`,这里的`escapeXML="true"`(默认设置)会确保字符被正确转义。然而,如果使用AJAX获取并显示内容,我们需要手动进行转义。 ...
1. **特殊字符转义** HTML中,如果要显示特殊字符本身而不是其功能,可以使用HTML实体(HTML Entities)。例如,小于号 `转义为 `<`,大于号 `>` 转义为 `>`,双引号 `"` 转义为 `"`。常见的HTML实体...
除了以上提到的基本转义字符之外,HTML还支持广泛的特殊字符实体,如数学符号、希腊字母等,这些可以通过Unicode编码来引用。例如,`α` 表示希腊字母α。 #### 三、HTML转义字符使用要点 1. **转义字符必须...
为了避免这些问题,需要对这些特殊字符进行转义。 1. **`htmlspecialchars()`**:用于将特殊字符转换为对应的HTML实体,从而避免被解析为HTML标签或脚本。 - 示例代码: ```php $str = "<script>alert('XSS');...
转义字符在编写HTML代码时非常重要,因为它们确保了浏览器能够正确解析和显示包含特殊字符的内容,而不会误解为HTML标签或引起解析错误。在处理用户输入或动态生成HTML时,也常常用到转义字符,以防止跨站脚本(XSS)...
以下是对HTML特殊字符编码的详细讲解: 1. **基本概念** HTML特殊字符编码是一种机制,用来在HTML文档中插入非ASCII字符。由于ASCII字符集有限,不能涵盖所有语言和符号,因此需要使用编码来表示像版权符号(©)...
在 HTML 中,转义字符串是用于表示特殊字符的,例如“<”和“>”这类符号已经用来表示 HTML 标签,因此就不能直接当做文本中的符号来使用。为了在 HTML 文档中使用这些符号,就需要定义它的转义字符串。 在编程语言...
在HTML文档中,为了正确显示某些特殊字符或符号,需要使用到转义字符。这些转义字符通常由一个“&”字符开头,后面跟着表示该字符的代码或者名称,最后以一个“;”结束。这种方式可以确保HTML解析器能够正确地解释并...
在Web开发中,经常需要处理用户提交的数据,为了避免XSS攻击等问题,通常需要对这些数据进行一定的处理,比如转义HTML特殊字符、清除HTML标签以及从CSS样式中提取有用的信息等。本文将详细介绍如何使用Java来实现...
本文将详细介绍如何在C#中实现HTML编码处理,包括去除HTML标签、转义特殊字符等方面的内容。 #### 1. HTML编码与解码的重要性 在Web应用中,为了防止XSS(跨站脚本攻击)等安全问题,以及确保数据显示正确,经常...
HTML转义字符是网页开发中不可或缺的一部分,它们用于在HTML文档中插入特殊字符或保留字符,以防止浏览器误解代码。转义字符通过使用反斜杠(\)后跟特定的ASCII值来表示,使得这些字符在HTML源码中能够正确显示和...