JSP Spring ApplicationContext的國際化支持
1.ApplicationContext接口繼承了MessageResource接口,因此使用ApplicationContext作為spring容器可以使用國際化資源文件。
2.在MessageResource接口中定義了兩個主要用于國際化的方法:
String getMessage(String param,Object[] args,Locale loc) ;String getMessage(String param,Object[] args,String default,Locale loc) ;
ApplicationContext就是通過這兩個方法來完成國際化的
3.國際化支持原理:當(dāng)程序創(chuàng)建ApplicationContext時,Spring會自動查找配置文件中名為messageSource的Bean實(shí)例,如果找到這個實(shí)例,上面兩個國際化方法的調(diào)用將會交給該Bean實(shí)例實(shí)現(xiàn)類;如果沒有找到,將會沿著父類一直往上找;如果最終還是沒找到,系統(tǒng)將會創(chuàng)建一個空的StaticMessageSource Bean,該Bean能接受上述兩個方法的調(diào)用,但是是空實(shí)現(xiàn)。
4.通常在Spring中使用ResourceBundleMessageSource類來配置messageSource Bean。配置該Bean時需要提供一個參數(shù)basenames指定所使用的國際化資源文件的基本名,該參數(shù)值為list類型,因此需要使用元素來提供參數(shù)值
<bean name="messageSource" class="`org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>message</value> </list> </property></bean><!--提供資源文件-->//message_zh_CN.propertieswelcome={0} . 歡迎光臨!現(xiàn)在是北京時間:{1}//message_en_US.propertieswelcome={0} , welcome! now is:{1}<!--在main程序中的調(diào)用-->String name = act.getMessage("welcome",new String[]{"成兮”,new Date()},Locale.getDefault(Locale.Category.FORMAT)) ;
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選