freemarker 国际化

freemarker支持多语言国际化,只要把模板名称按照java资源文件的写法就可以了,也就是name_语言_国家地区.ftl 如果找不到对应的语言,就会用默
认语言的模板。那么就需要定义很多的ftl文件,如果要是改动模版的话,就比较费功夫,

所以,西面这种是  freemarker直接使用

源文件







进行多语言国际化



 



publicclass FreeMarkerTest 





{
   publicstaticvoid main(String[] args)





{         FreeMarkerTest test 

=

new

 

FreeMarkerTest();         test.sayHello(

"

hermit

"

,Locale.CHINA);         test.sayHello(

"

hermit

"

,Locale.ENGLISH);     }







 publicvoid sayHello(String name,Locale locale)




{         Configuration freemarkerCfg 

=

 

new

 

Configuration();         freemarkerCfg.setClassForTemplateLoading(

this

.getClass(), 

"

/

"

);         freemarkerCfg.setEncoding(Locale.getDefault(), 

"

UTF-8

"

);        Template template;        Locale.setDefault(Locale.ENGLISH);       


try

 {            template  = freemarkerCfg.getTemplate( " Hello.ftl " );            template.setEncoding( " UTF-8 " );             HashMap root  =  newHashMap();             root.put( " user " , name);             ResourceBundle RESOURCE_BUNDLE  = ResourceBundle.getBundle( " ApplicationResources " ,locale);             ResourceBundleModel rsbm  = new  ResourceBundleModel(RESOURCE_BUNDLE, new   BeansWrapper());             root.put( " bundle " , rsbm);             StringWriter writer  = newStringWriter();             template.process(root, writer);             System.out.println(writer.toString());         } 

catch

(Exception e)

 {             e.printStackTrace();         } 

}




}











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值