日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring和JSF集成:国际化和本地化

發布時間:2023/12/3 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring和JSF集成:国际化和本地化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果您正在開發針對多種語言的JSF應用程序,那么您可能很熟悉<f:loadBundle>標記。 即使您的應用程序不支持使用消息包的國際化仍然是一個好主意。 在<f:loadBundle>標記下,它從Java java.util.ResourceBundle中讀取消息,盡管這可以工作,但Spring開發人員通常更喜歡org.springframework.context.MessageSource接口。

作為<f:loadBundle>的替代方案,我一直在開發一個新的<s:messageSource>組件,該組件可用于公開來自任何Spring MessageSource的消息,并提供其他一些優點。

新組件是<f:loadBundle>的直接替代。

<s:messageSource source="#{messageSource}" var="messages"/> <p><h:outputText value="#{messages.hello}"/> </p>

source屬性可以是任何解析為MessageSource實例的EL表達式。 如果未指定源,則將使用Spring ApplicationContext 。 var屬性是將用于訪問消息的變量的名稱。

與標準JSF不同,要加載的消息的密鑰將根據要呈現的頁面的ID構建。 例如,假設上面的頁面來自文件WEB-INF / pages / messages / simple.xhtml ,則用于加載問候消息的鍵將為pages.messages.simple.hello 。 使用這些復合鍵可以防止消息鍵沖突,并使頁面標記清晰美觀。 如果需要,可以使用prefix屬性覆蓋此行為。

如果您在XHTML中引用了忘記定義的消息,則將看到警告消息(在開發中),或者將引發異常(在生產中)。

與標準JSF一樣,您的消息并包含與<h:outputFormat>一起使用的占位符

pages.message.simple.welcome=Welcome to {1} with {0}<h:outputFormat value="#{messages.welcome}"><f:param value="Spring"/><f:param value="JSF"/> </h:outputFormat>

<h:outputFormat>標簽有點冗長,因此為了方便起見,Spring消息可以用作Map 。 這使您可以更簡潔地引用占位符:

<h:outputText value="#{messages.welcome['Spring']['JSF']}"/>

相同的語法允許您將Java對象映射到消息。 默認情況下,對象是通過從類名稱構建消息鍵來映射的。 例如,以下類:

package org.example; public class ExampleObject { }

可以在JSF中引用:

<h:outputText value="#{messages[exampleInstance]}"/>

解決以下消息:

org.example.ExampleObject=example

對于枚舉對象,消息鍵包括枚舉名稱和類:

package org.example; public enum ExampleObject {ONE, //mapped to message key org.example.ExampleObject.ONETWO //mapped to message key org.example.ExampleObject.TWO }

對象消息還可以引用應構成消息一部分的屬性:

org.example.PersonName=Name is {first} {last} ...package org.example; public class PersonName {...public String getFirst() {...}public String getLast() {...} }

您還可以通過使用實現org.springframework.springfaces.message.ObjectMessageSource接口的消息源來定義自己的對象消息策略。

如果要檢查其中的任何代碼,請查看GitHub Project中的org.springframework.springfaces.message和org.springframework.springfaces.message.ui軟件包。

參考: Phil Webb博客博客中來自我們JCG合作伙伴 Phillip Webb的Spring和JavaServer Faces集成:國際化和本地化 。


翻譯自: https://www.javacodegeeks.com/2012/06/spring-jsf-integration.html

總結

以上是生活随笔為你收集整理的Spring和JSF集成:国际化和本地化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。