0

我所拥有的是<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而不是上面。这会在同一行而不是下一行输出阿联酋。

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


编辑 1

当我使用\n而不是<br />,我仍然在一行中获取数据作为``。

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

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

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

4

1 回答 1

1

默认情况下,JSF 会转义XML 实体,例如<>进入&lt;&gt;以防止无知的初学者引入XSS 攻击漏洞。

escape您可以使用该属性在每个组件的基础上关闭 XML 转义。

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

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

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

于 2013-04-24T16:37:31.183 回答