我想显示一个名为
的文字"welcome<to>Jsp"
在页面源中我也看到“welcomeJsp”
但在HTML中它仅显示为“welcomeJsp”。请指导我。
答案 0 :(得分:2)
你必须逃避这些角色..
welcome<to>Jsp
我建议使用Apache的StringEscapeUtils类(在org.apache.commons.lang中可用)函数escapeHtml()
来转义HTML。
StringEscapeUtils.escapeHtml("welcome<to>Jsp")
答案 1 :(得分:1)
"welcome<to>Jsp"
> (greater than) - (>)
< (less than) - (<)
这些字符需要以这种方式编码才能实际显示它们。
答案 2 :(得分:1)
使用JSTL <c:out>
标记或fn:escapeXml()
功能。
<c:out value="welcome<to>Jsp" />
或
${fn:escapeXml('welcome<to>Jsp')}
您甚至可以在模型值上使用它。
<c:out value="${bean.property}" />
或
${fn:escapeXml(bean.property)}
当它涉及用户控制的输入时,始终的那两个应该被使用,否则你对XSS攻击漏洞完全开放。另请参阅our JSP wiki page和What is the general concept behind XSS?