如何在 h:outputText Bold 中制作值的一部分?
我想要粗体的名称:<h:outputText value="Normal Text: #{Controller.Object.name}" />
我试过:<h:outputText value="Normal Text: <b>#{Controller.Object.name}</b>" />
收到此错误:“与元素类型“h:outputText”关联的属性“value”的值不得包含“经过这里和其他页面的一些搜索,发现属性 escape="false"
可以解决这个问题……但对我来说没有区别,<h:outputText escape="false" value="Normal Text: <b>#{Controller.Object.name}</b>" />
仍然有同样的错误。
有人遇到过这个问题吗?
最佳答案
你真的需要 <h:outputText>
吗?
在 Facelets 中,您可以只在模板文本中使用 EL:
Normal Text: <b>#{Controller.Object.name}</b>
如果您真的坚持使用 <h:outputText>
,那么您确实应该手动转义 XML 实体并使用 escape="false"
显示它:<h:outputText value="Normal Text: <b>#{Controller.Object.name}</b>" escape="false" />
这不仅读起来更难看,而且还打开了一个 XSS 攻击漏洞,以防 #{Controller.Object.name}
是客户端控制的值。也可以看看:
关于html - 我怎样才能让 h :outputText Bold? 中的值成为一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28433340/