在 JSP 中转义和取消转义 HTML 个实体
Escaping and unescaping HTML entities in JSP
我在 .TAG 文件中有一个 HTML 转义的字符串。现在,我需要缩短这个字符串,使 'x' 的数量成为它的最大长度。然后,我需要在其后附加“...”。
问题是,如果这些“...”被转义到一个 HTML 实体中,当我弄乱实体时,我会得到类似“$qu...”的东西。
解决这个问题最简单的方法是什么?我想 -> 解码 HTML -> 缩短并添加“...” -> 重新编码。
然而,我只能找到 fn:escapeXML 这不是我想要做的。
按照我自己的逻辑去做是唯一的方法吗?
我用 scriplet 解决了这个问题。我只是导入了一个 Java Utlity class,它提供了这种编码和解码功能。
没有比这更好或更顺畅的方法了^。唯一可能更好的方法是如果您可以在后端计算字符串。在我的情况下是不可能的。
并记得使用:
<%@tag import="org.apache.commons.lang.StringEscapeUtils" %>
用于在 .TAG 文件中导入内容的语法。 @page import 在这里不起作用,因为它不是页面。这让我困惑了一段时间,我认为不可能将 Java-Class 导入 .TAG 文件,直到我随机想出这个。
^ 使用 EL 和 JSTL 的唯一方法是手动进行编码和解码(创建一个包含所有 HTML 实体的数组,fn:replace,...)。大量愚蠢的工作要做,最好使用邪恶的 Scriplets 之一,恕我直言 :)
我在 .TAG 文件中有一个 HTML 转义的字符串。现在,我需要缩短这个字符串,使 'x' 的数量成为它的最大长度。然后,我需要在其后附加“...”。
问题是,如果这些“...”被转义到一个 HTML 实体中,当我弄乱实体时,我会得到类似“$qu...”的东西。
解决这个问题最简单的方法是什么?我想 -> 解码 HTML -> 缩短并添加“...” -> 重新编码。
然而,我只能找到 fn:escapeXML 这不是我想要做的。
按照我自己的逻辑去做是唯一的方法吗?
我用 scriplet 解决了这个问题。我只是导入了一个 Java Utlity class,它提供了这种编码和解码功能。
没有比这更好或更顺畅的方法了^。唯一可能更好的方法是如果您可以在后端计算字符串。在我的情况下是不可能的。
并记得使用:
<%@tag import="org.apache.commons.lang.StringEscapeUtils" %>
用于在 .TAG 文件中导入内容的语法。 @page import 在这里不起作用,因为它不是页面。这让我困惑了一段时间,我认为不可能将 Java-Class 导入 .TAG 文件,直到我随机想出这个。
^ 使用 EL 和 JSTL 的唯一方法是手动进行编码和解码(创建一个包含所有 HTML 实体的数组,fn:replace,...)。大量愚蠢的工作要做,最好使用邪恶的 Scriplets 之一,恕我直言 :)