将bean变量传递给<h:outputlabel> </h:outputlabel>

时间:2013-04-24 15:59:14

标签: java html jsf-2 javabeans

我所拥有的是<h:outputLabel value="#{userInfo.totalExp}" />

以下是我想要的输出

Total - 10 Years 2 Months
U.A.E - 5 Years 0 Months
India - 5 Years 2 Months

对于bean中的这个,我将数据作为

传递
totalExp = "Total - 10 Years 2 Months<br />U.A.E - 5 Years 0 Months<br />India - 5 Years 2 Months"

但是我看到输出为Total - 10 Years 2 Months<br />U.A.E - 5 Years 0 Months<br />India - 5 Years 2 Months而不是上面。这使输出U.A.E在同一行而不是下一行。

知道如何在下一行获取数据吗?


编辑1

当我使用\n而不是<br />时,我仍然将数据作为``来获取。

当我查看页面来源时,我看到如下。

<label dir="LTR">
Total - 10 years &amp; 7 months 
Ok OK
Teset</label>

表示输入存在...这是否意味着label不允许输入?

1 个答案:

答案 0 :(得分:1)

JSF默认情况下将XML entites(例如<>)转移到&lt;&gt;,以防止无知的启动者引入XSS attack holes

您可以使用escape属性关闭每个组件的XML转义。

<h:outputLabel ... escape="false" />

<h:outputText>和其他一些属性也存在相同的属性。

实际上,我认为你目前正在滥用<h:outputLabel>用于错误的目的。它生成一个HTML <label> element,它应该通过for属性与HTML输入元素相关联。但是,您在那里的文本似乎并不代表有效标签,也没有for属性。而是使用<h:outputText>代替。