无法在JSP页面中正确显示特殊字符

发布于 2024-10-30 23:27:46 字数 500 浏览 2 评论 0原文

我需要在表 TD 中显示以下特殊字符(不包括 < 符号和正斜杠之间的反斜杠),

1) '/<\/@/test#/$ /&/)'

但是,浏览器只能显示 '/ 即,数据被截断。

仅当<<时,才会出现上述问题。和 / 字符连续出现。

也就是说,以下工作是因为在 < 之后没有后续的正斜杠 / 。符号

2) '/<@/test#/$/&/)'

我正在使用 java 代码来转义其他特殊字符。 我能够成功替换 <与 & 符号 lt;但如何仅在 < 时替换正斜杠 /和 / 一起出现。

请帮助我

抱歉,即使在这个网站中,您也看不到我需要实现的目标,因此在第 1 点中排除反斜杠(我需要在没有反斜杠的情况下显示,为了您的理解,我已经把它放在了)。我无法发布图片,因为我是新用户。

I need to display following special characters in a table TD (exclude the back slash in between < symbol and forward slash),

1) '/<\/@/test#/$/&/)'

But, the browser is able to display only '/
i.e, data is getting truncated.

The above issue occurs only when < and / chars occur contiguously.

That is, following works as there is no succeeding forward slash / after the < symbol

2) '/<@/test#/$/&/)'

I am using java code to escape the other special chars.
I am able to successfully replace < with ampersand lt; but how to replace a forward slash / only when < and / appear together.

Please help me

Sorry, even in this website you cannot see what i need to achieve, hence in Point 1 exclude the back slash (I need to display without the backslash, for ur understanding i have put it). I cannot post images as i am a new user.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

失眠症患者 2024-11-06 23:27:46

默认情况下,Web 浏览器将 JSP 发送的所有内容视为 HTML。 < 表示 HTML 标记的开始,因此网络浏览器将对其进行解析(并最终由于语法错误而失败)。

您想要转义那些 HTML 特殊字符,例如 <>&"

< will be displayed as <
> will be displayed as >
& will be displayed as &
" will be displayed as "

如果是是动态文本,最好使用 来完成JSTL 标记,

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:out value="${bean.text}" />

如果要设置 HTML 属性,则 JSTL fn:escapeXml() 函数 更好。

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<input type="text" value="${fn:escapeXml(bean.text)}" />

Everthing which get sent by JSP is by default treated as HTML by the webbrowser. The < indicates start of a HTML tag and thus the webbrowser will parse it as such (and eventually fail due to a syntax error).

You want to escape those HTML special characters like <, >, & and ".

< will be displayed as <
> will be displayed as >
& will be displayed as &
" will be displayed as "

If it is dynamic text, this is best to be done with JSTL <c:out> tag.

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:out value="${bean.text}" />

Of if you want to set a HTML attribute, the JSTL fn:escapeXml() function is nicer.

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<input type="text" value="${fn:escapeXml(bean.text)}" />
柠北森屋 2024-11-06 23:27:46

我通过将此指令添加到页面来使其在 JSP 上工作

<%@ page contentType="text/html; charset=UTF-8" %>

I got it to work on JSP by adding this directive to the page

<%@ page contentType="text/html; charset=UTF-8" %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文