【问题标题】:Adding HTML hyperlinks to java resource bundle properties files将 HTML 超链接添加到 java 资源包属性文件
【发布时间】:2012-04-01 23:47:47
【问题描述】:

我正在使用 Java 资源包来管理消息。

我需要在 JSF 页面中显示一条消息,并且该消息还包含一些 HTML 标记。 不幸的是,HTML 代码也显示在屏幕上,而不是被浏览器呈现为 HTML:

I.E

Click me <a href="link....">here</a>

我在属性文件中的消息:

clickme=Click me <a href="link....">here</a>

我的 JSF:

<h:outputText value="#{messages['clickme']}" />


有什么想法吗?

谢谢

【问题讨论】:

    标签: java jsf resourcebundle


    【解决方案1】:

    JSF/Facelets 默认转义 HTML 特殊字符,以防止 XSS attacks 在重新显示用户控制的数据时。您可以通过将escape 属性显式设置为false 来逐个&lt;h:outputText&gt; 将其关闭。

    <h:outputText value="#{messages['clickme']}" escape="false" />
    

    您只需要绝对确保您不会对未经清理的用户控制数据执行此操作,这些数据是 所有 随 HTTP 请求一起提供的,例如标头、cookie、参数、正文等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 1970-01-01
      • 2012-05-02
      相关资源
      最近更新 更多