如何在JSF1.2中的消息资源包中添加换行符(\ n)

时间:2012-02-09 07:34:51

标签: jsf

在我的示例JSF应用程序中,我在页面中使用rich:dataTable来显示数据。

我有2个标题可以在rich:dataTable中显示值,如下所示

--------------------------------
| UserDetails | EmpoyeeDetails |
--------------------------------

在具有键和值的消息资源包文件中

usrDet = UserDetails empDet = EmpoyeeDetails

我需要在一行中显示User,在特定标题的下一行显示Details

----------------------
|  User   |  Empoyee |
| Details |  Details |
---------------------

如何在单词之间的消息包中添加换行符?我尝试添加十六进制代码,数字代码\ n喜欢  ,\ u000A但不是 为我工作!有什么想法吗?

2 个答案:

答案 0 :(得分:19)

JSF生成HTML。 HTML中的换行符由<{1}}字符表示,但由\n元素表示。

为了让HTML客户端也解释<br>,您需要引入CSS \nwhite-space: pre

pre-wrap
key = Lorem ipsum.\nDolor sit amet.

或者,使用<h:outputText value="#{bundle.key}" style="white-space: pre-wrap" /> 代替JSF unescape。 E.g。

<br>
key = Lorem ipsum.<br/>Dolor sit amet.

答案 1 :(得分:1)

尝试此处列出的步骤:http://www.mkyong.com/java/how-to-insert-a-new-line-in-resource-bundle-messages-java/

基本上,您使用StringEscapeUtils.unescapeJava(String str)静态方法。