【问题标题】:how to display a text with tags in jsp如何在jsp中显示带有标签的文本
【发布时间】:2012-10-29 11:32:41
【问题描述】:

我想显示一个名为

的文本
"welcome<to>Jsp"

在页面源代码中我也看到了“welcomeJsp”

但在 HTML 中,它仅显示为“welcomeJsp”。请指导我。

【问题讨论】:

    标签: html jsp htmltextwriter


    【解决方案1】:

    使用JSTL&lt;c:out&gt;标签或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 pageWhat is the general concept behind XSS?

    【讨论】:

      【解决方案2】:

      你必须转义这些字符..

      welcome&lt;to&gt;Jsp
      

      我建议使用 Apache 的 StringEscapeUtils 类(在 org.apache.commons.lang 中可用)函数 escapeHtml() 来转义 HTML。

      StringEscapeUtils.escapeHtml("welcome&lt;to&gt;Jsp")

      【讨论】:

        【解决方案3】:
        "welcome&lt;to&gt;Jsp"
        
        
        &gt; (greater than) - (>)
        &lt; (less than)    - (<)
        

        这些字符需要以这种方式编码才能真正显示出来。

        【讨论】:

          猜你喜欢
          • 2011-12-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-02
          • 1970-01-01
          • 1970-01-01
          • 2013-08-02
          相关资源
          最近更新 更多