在我的示例JSF应用程序中,我在页面中使用rich:dataTable来显示数据。
我有2个标题可以在rich:dataTable中显示值,如下所示
--------------------------------
| UserDetails | EmpoyeeDetails |
--------------------------------
在具有键和值的消息资源包文件中
usrDet = UserDetails empDet = EmpoyeeDetails
我需要在一行中显示User,在特定标题的下一行显示Details
----------------------
| User | Empoyee |
| Details | Details |
---------------------
如何在单词之间的消息包中添加换行符?我尝试添加十六进制代码,数字代码\ n喜欢 ,\ u000A但不是 为我工作!有什么想法吗?
答案 0 :(得分:19)
JSF生成HTML。 HTML中的换行符由<{1}}字符表示不,但由\n
元素表示。
为了让HTML客户端也解释<br>
,您需要引入CSS \n
或white-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)静态方法。