jsf - 如何用outputText显示换行符?

标签 jsf jsf-2 line-breaks

我需要使用 outputText 渲染换行符,以便我可以利用 rendered 属性。我试过了

<h:outputText value="<br/>" escape="false" />

但它产生了异常

The value of attribute "value" associated with an element type "null" must not contain the '<' character. 

最佳答案

自 Facelets 以来,这确实无效,因为它在 XML 中在语法上无效。您需要手动转义 XML 特殊字符,例如 < , >等等。

<h:outputText value="&lt;br/&gt;" escape="false" />

但是,您可以只发出 <br/>在模板文本中,无需 <h:outputText>

<br/>

要有条件地渲染它,请将其包装在例如 <ui:fragment> 中.

<ui:fragment rendered="#{bean.rendered}"><br /></ui:fragment>

一个<h:panelGroup>也是有效的,因为它不会向 HTML 发送任何内容。

<h:panelGroup rendered="#{bean.rendered}"><br /></h:panelGroup>

关于jsf - 如何用outputText显示换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337331/

相关文章:

jsf - 如何将现有的 JSF 组件添加到我自己的自定义组件中?

java - 找不到 WebApplicationContext : no ContextLoaderListener registered?

jsf - 以编程方式获取facelets参数(变量)的表达式值

jsf - 使部分 JSF 页面无状态

javascript - jsf 的 xthml 文件中的 javascript 中的不等号 ("<"引发错误(在 netbeans 中)

java - 我可以在 Java Web 应用程序中使用 Servlet 来使用 Facelet 吗?

javascript - 无法在 JSF 中用 JavaScript 替换 div 内容

javascript - 如何检查光标是否在文本区域内的空行上?

html - 在 'n' 元素之后强制使用 CSS 包装内联 block ?

java - 将数据从数据库写入文件时保留换行符