我在<h:outputText />
值尝试断行。
我只是将<br>
作为HTML理论放在我的价值中。但它不起作用,并显示页面错误。
当我删除<br/>
时。它再次正常工作。
我的代码是:
<h:outputText value="[#{order.product.code}] #{order.product.name} <br/> #{order.qty}"/>
我尝试了另一种方式。
<h:outputText value="[#{order.product.code}] #{order.product.name} 
 #{order.qty}"/>
完全没有变化。
答案 0 :(得分:13)
将<
用于<
&amp; >
为>
,然后制作您的HTML标记。
<强>像:强>
<br /> - For <br />
然后你必须告诉浏览器转义html标记,在escape= "true"
内放置<h:outputText />
attirbute。
根据您的要求试试这个,
示例代码:
<h:outputText value="value-one <br /> value-two <br /> value-three" escape="false" />
<强>输出:强>
value-one
value-two
value-three
答案 1 :(得分:5)
为什么你需要<h:outputText>
?您似乎没有在模板文本中使用普通EL上的任何附加功能。
摆脱它并像这样写:
[#{order.product.code}] #{order.product.name} <br/> #{order.qty}
请注意,在遗留JSP中这是不可能的,但鉴于您使用的PrimeFaces没有JSP兼容的标记库(4年前不推荐使用JSP),那么您肯定应该使用Facelets
答案 2 :(得分:1)
您可以在其中使用多个h:outputTex
代码,其中包含< br />
个代码。请尝试以下方法:
<h:outputText value="[#{order.product.code}]"/>
<br/>
<h:outputText value="#{order.product.name}"/>
<br/>
<h:outputText value="#{order.qty}"/>
更新:
或使用escape="false"
:
<h:outputText value="[#{order.product.code}]<br />#{order.product.name}<br />#{order.qty}" escape="false" />
答案 3 :(得分:0)
在escape="false"
中添加属性h:outputText
。如果您的value
包含<br />
,那么您将在文本中包含换行符。
答案 4 :(得分:0)
非常感谢大家..! 特别是@Wanna咖啡和@hurleytom。 你的代码确实有用。
<h:outputText value="[#{order.product.code}]<br />#{order.product.name}<br />#{order.qty}" escape="false" />