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

Jag*_*gan 7 jsf

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

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

--------------------------------
| UserDetails | EmpoyeeDetails |
--------------------------------
Run Code Online (Sandbox Code Playgroud)

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

usrDet = UserDetails empDet = EmpoyeeDetails

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

----------------------
|  User   |  Empoyee |
| Details |  Details |
---------------------
Run Code Online (Sandbox Code Playgroud)

如何在单词之间的消息包中添加换行符?我尝试添加十六进制代码,数字代码\n喜欢,\ u000A,但它不适合我!任何的想法?

Bal*_*usC 19

JSF生成HTML.HTML中的换行符不是\n字符表示,而是由<br>元素表示.

为了让HTML客户端也能解释\n,你需要输入CSS white-space: prepre-wrap:

key = Lorem ipsum.\nDolor sit amet.
Run Code Online (Sandbox Code Playgroud)
<h:outputText value="#{bundle.key}" style="white-space: pre-wrap" />
Run Code Online (Sandbox Code Playgroud)

或者,使用<br>JSF unescape它.例如

key = Lorem ipsum.<br/>Dolor sit amet.
Run Code Online (Sandbox Code Playgroud)
<h:outputText value="#{bundle.key}" escape="false" />
Run Code Online (Sandbox Code Playgroud)


ust*_*tun 1

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

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