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();
}
}
}
分享到:
相关推荐
在Struts2和Freemarker中实现国际化,可以让应用的用户界面适应全球范围内的用户。 首先,我们需要理解Struts2的国际化流程。Struts2提供了一种机制,通过资源属性文件(通常是.properties格式)来管理不同语言的...
在IT行业中,国际化(i18n)是一种技术,它允许软件产品和服务适应不同地区和语言的需求。Spring MVC作为Java Web开发中的一个强大框架,提供了支持i18n的机制。结合Freemarker模板引擎,我们可以构建出具有多语言功能...
在实际开发中,自定义标签可以实现许多高级功能,如数据库查询、缓存管理、国际化处理等。例如,你可以创建一个自定义标签用于处理分页数据,接受页码和每页数量作为参数,然后在后台查询数据库并返回相应的页面内容...
5. 智能的国际化和本地化:字符集智能化,数字格式本地化敏感,日期和时间格式本地化敏感,非 US 字符集可以用作标识,多种不同语言的相同模板。 6. 强大的 XML 处理能力:<#recurse> 和指令用于递归遍历 XML 树,...
7. **国际化和本地化**:Freemarker支持多语言环境,可以方便地切换不同的语言版本。 8. **错误处理**:当模板存在错误时,Freemarker会抛出异常,并提供详细的错误信息,帮助开发者快速定位问题。 9. **API和配置...
8. **国际化与本地化**:FreeMarker 支持多语言环境,可以通过`<#t>`和`<#lt>`标签进行文本的国际化和本地化处理。 9. **缓存机制**:为了提高性能,FreeMarker 可以缓存编译后的模板,避免每次请求都重新编译。...
5. **国际化(i18n)支持**:FreeMarker支持多语言环境,可以通过`<#t>`标签进行日期和时间的本地化处理,`<#lt>`标签进行文本的本地化。 6. **安全机制**:FreeMarker有防止跨站脚本(XSS)攻击的安全特性,可以...
6. **国际化支持**: Freemarker支持多语言环境,可以通过不同语言的资源包来实现内容的国际化。 7. **宏与导入**: 它允许用户定义可重用的代码块,称为宏,并通过`<@import>`指令引入其他模板,提高了代码的复用性...
另外,FreeMarker还支持自定义指令、国际化、模板继承等功能,这些都是进一步提升项目效率和扩展性的关键。 通过以上步骤,你就可以在MyEclipse中使用FreeMarker实现JSP页面的静态化。记住,良好的分层设计和模板...
7. 智能的国际化和本地化:字符集智能化(内部使用 UNICODE),数字格式本地化敏感,日期和时间格式本地化敏感等。 8. 强大的 XML 处理能力:<#recurse> 和指令(2.3 版本)用于递归遍历 XML 树。 -FreeMarker 的...
5. **智能的国际化和本地化**:FreeMarker支持多种字符集,智能处理Unicode,本地化的数字格式、日期和时间格式,以及非英文字符集作为标识。 6. **强大的XML处理**:提供了`<#recurse>`和`<#visit>`等指令,方便...
5. **国际化与本地化**:Freemarker支持i18n,可以方便地处理多语言内容。 6. **错误处理**:当模板语法错误或数据模型问题出现时,Freemarker提供详细的错误报告,帮助开发者定位问题。 7. **API使用**:在Java...
4. **国际化与本地化**:Freemarker支持多语言环境,通过`<#t>`指令和`<#lt>`标签,可以轻松实现国际化和本地化的文本输出。 5. **宏和导入**:宏类似于函数,可以复用代码段。`<#macro>`定义宏,`<#import>`或`...
5. 智能的国际化和本地化:支持字符集智能化、数字格式本地化敏感、日期和时间格式本地化敏感等。 6. 强大的XML处理能力:支持递归遍历XML树,能够在模板中清楚和直觉的访问XML对象模型。 FreeMarker的设计指南是...
9. **国际化(i18n)支持**:通过`<#assign>`指令和`<#t>`标签,FreeMarker可以方便地处理多语言资源,实现应用程序的国际化。 10. **错误处理和调试**:FreeMarker提供了丰富的错误处理机制,如异常捕获和调试日志...
7. **国际化与本地化**:Struts2和Freemarker都支持多语言环境,可以通过资源文件实现不同地区的文字显示。 在实际开发中,"freemarker2"这个文件可能是Freemarker的一个示例模板或者配置文件,它可能包含了如何...
- 可能提供了更好的国际化支持,方便多语言环境的应用。 - 新增或改进了对XML、JSON等数据格式的处理能力。 5. **Freemarker 2.3.25**: - 在这个版本中,开发者可能已经对模板引擎进行了大量的测试和调整,以...
FreeMarker的核心特性包括其通用性、强大的模板语言、通用数据模型、Web优化、智能的国际化和本地化以及强大的XML处理能力。它能够生成各种类型的文本,如HTML、XML、RTF等,并且易于集成到现有的系统中。FreeMarker...
在处理Freemarker模板引擎时,中文乱码问题是一个常见的挑战,尤其是在国际化应用中。Freemarker是一款功能强大的模板引擎,被广泛应用于Web开发中,用于动态生成HTML、XML等文本格式的页面。然而,当涉及到非英文...
4. 国际化支持:通过使用`<#t>`标签,FreeMarker可以轻松实现多语言环境下的文本处理。 三、FreeMarker的常用语法 1. 输出表达式:`${expression}`,用于输出数据模型中的值。 2. 条件语句:`<#if>...<#else>......