Jsf 如何使用outputText显示换行符?
我需要使用Jsf 如何使用outputText显示换行符?,jsf,jsf-2,line-breaks,Jsf,Jsf 2,Line Breaks,我需要使用outputText渲染换行符,以便我可以使用渲染的属性。我试过了 <h:outputText value="<br/>" escape="false" /> 但它产生了一个例外 The value of attribute "value" associated with an element type "null" must not contain the '<' character. 与元素类型“null”关联的属性“value”的值不能包含
outputText
渲染换行符,以便我可以使用渲染的
属性。我试过了
<h:outputText value="<br/>" escape="false" />
但它产生了一个例外
The value of attribute "value" associated with an element type "null" must not contain the '<' character.
与元素类型“null”关联的属性“value”的值不能包含“您可以尝试将”
“
放在资源束中,然后从该资源束中获取值。这确实是无效的,因为Facelets在XML中语法无效。您需要手动转义XML特殊字符,如
等等
<h:outputText value="<br/>" escape="false" />
但是,您可以只在模板文本中发出
,而不需要
<br/>
要有条件地呈现它,请将其包装在例如
中
也是有效的,因为它不会向HTML发出任何信息
<h:panelGroup rendered="#{bean.rendered}"><br /></h:panelGroup>
JSF页面
<h:outputText value="#{car.crg}" escape="false" style="white-space: pre-wrap;word-wrap: break-word; " />
在托管bean中动态添加htmlouttext
时,您将如何做到这一点?我尝试了htmlouttext linebreak=newhtmloutput();lineBreak.setValue(“br/”和“
”)代码>(显然不是在同一时间)但都不起作用,他们只是输出输入的文本,而不是break@Austin:显然你忘了调用setEscape(false)
。确定你不需要任何新书吗?=)谢谢你,巴卢斯克!如果带换行符的文本来自EL表达式,则需要使用未转义的换行符元素。
<h:outputText value="#{car.crg}" escape="false" style="white-space: pre-wrap;word-wrap: break-word; " />
public String getCrg() {
return crg.replace("<br/>", "<br />");
//return crg;
}