2

我在我的应用程序中从捆绑包中大量使用属性,因为我努力保持代码在未来的可维护性。因此,所有 HTML 文本都是从键/值属性文件中获取的,例如。'index_en.properties'

这已经成为问题,我需要浏览器呈现粗体文本,而我在网上找不到任何解决此问题的主题。

然后我可以提出的最佳解决方案是使用

<h:outputText> tags that are child elements of the `<b>` tags. 

我在这里需要的是经常使用属性文件的人提供的方法/提示/解决方案。

我尝试直接在属性文件中使用 html 转义码,但这不起作用。

有小费吗?

谢谢你,丝兰

PS我怀疑CSS会在这里帮助我。

4

1 回答 1

4

将 HTML<b>放在 bundle 中并使用escape="false"on<h:outputText>来禁用组件的标准 HTML 转义:

<h:outputText value="#{msg.text}" escape="false" />

确保永远不要在用户控制的输入上执行此操作,因为它会打开 XSS 攻击漏洞。还要确保不要将 HTML 放在捆绑包中。<b>对于带有, <u>,等的基本文本格式是可以的,但对于像, <i>,等<s>这样的语义标记则不行。<p><div><h1>

于 2011-12-20T14:40:50.340 回答