如何在<h:outputtext>值中添加断行?</h:outputtext>

时间:2014-02-28 07:14:06

标签: html5 jsf primefaces

我在<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} &#10 #{order.qty}"/>

完全没有变化。

5 个答案:

答案 0 :(得分:13)

&lt;用于<&amp; &gt;>,然后制作您的HTML标记。


<强>像:

&lt;br /&gt; - For <br />

然后你必须告诉浏览器转义html标记,在escape= "true"内放置<h:outputText /> attirbute。


根据您的要求试试这个,

示例代码:

<h:outputText value="value-one &lt;br /&gt; value-two &lt;br /&gt; 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}]&lt;br /&gt;#{order.product.name}&lt;br /&gt;#{order.qty}" escape="false" />

答案 3 :(得分:0)

escape="false"中添加属性h:outputText。如果您的value包含<br />,那么您将在文本中包含换行符。

答案 4 :(得分:0)

非常感谢大家..! 特别是@Wanna咖啡和@hurleytom。 你的代码确实有用。

<h:outputText value="[#{order.product.code}]&lt;br /&gt;#{order.product.name}&lt;br /&gt;#{order.qty}" escape="false" />