`

Tapestry页面国际化实现方式——权衡效率

阅读更多
Tapestry国际化实现方式
——权衡效率
在Tapestry开发中,页面国际化实现有两种方式:
第一种,用多份properties文件,在此我们以英文版与中文版来阐述这个问题,比如有Foo.html这个页面,那么Foo.properties、Foo_zh_CN.properties文件构成了以上两种页面版本。Properties文件我们可以用相关的工具将所有的非ASCII码转换成Unicode编码存储(PropertiesEditor插件),这种方式可以让你的项目部署少点中文编码问题,可以把整个项目从页面层到数据库层都用UTF-8编码。另外可以不用编码转换工具,直接在Foo_zh_CN.properties里写中文,在项目的application文件里配置如下代码
<meta key="org.apache.tapestry.messages-encoding_zh_CN" value="GB2312"/>
<meta key="org.apache.tapestry.messages-encoding" value="UTF-8"/>
即可实现国际化问题。
 
第二种,用多份html文件,如Foo.html、Foo_zh_CN.html就直接构成了两种语言版本,而对所有的非ASCII码(如中文)可以直接写在.html文件里了,不用出现繁杂的国际化信息插入标签,可以节省不少开发时间,就算以后要新增版本了,就直接新增一个.html文件,里面的语言文字替换就直接在html文件里替换了。有的人可能会说,直接用第一种方式,更改不是更方便吗,对着properties文件就可以改了,在html文件里还要找改在哪里。这种想法似乎挺有道理,但我们必须清楚的是我们可以用任何一个可视化HTML编辑器可视化地编辑要替换的文字,而且效果很直接,也就是说,在这种方式下如果新增一个语言版本,就直接用可视化的编辑器编辑了!本人在此推崇这种方式,主要归结于这种方式开发效率要高,美工修改页面更直接(修改properties文件不能以静态的方式体现出来,必须要在WEB容器中运行后才可以看到真正的效果,而且还有一点就是两种语言版本,如果直接翻译文字,相同意思的文字,占的宽度并不一样,这样对于美工看页面效果也是一大难题了)。Tapestry的作者也提到过如果非ASCII码的文字多了,就用这种方式了。这种方式的实现还要依赖于以下配置:.application文件中<meta key="org.apache.tapestry.template-encoding" value="GB2312"/>,.html文件中
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,除了页面层,其他层仍可以采用UTF-8的编码, Tapestry会在这两种编码之间进行转换,不需要别外写代码或配置转换层级之间的编码。
分享到:
评论
4 楼 tapestry 2007-02-20  
第二种方式有多个语言版本的html,如果美工要改页面的某一个部分的话,同时要改各个语言版本的,也是有弊端的,可以说是各有利弊吧。
3 楼 Linuxboy 2007-02-18  
Tapestry5如何实现国际化呢?
我现在知道唯一的方法是设定页面:Foo_zh.html,建立一个Foo_zh.properties文件,指定默认的locale为zh,来显示中文。
有没有办法可以直接在html模板中使用中文并显现中文的动态内容呢?
2 楼 dengyin2000 2007-02-17  
tapestry页面默认是使用UTF-8, 你可以写英文 也可以写中文的。
1 楼 LucasLee 2007-02-17  
的确有这个问题。

不过即使用HTML也不能完全解决美工担心的问题,因为有些内容还是动态生成的。
所以我觉得最好还是设计时,不要与内容的大小有太大关联。

相关推荐

    tapestry页面编辑组件

    Tapestry是一个强大的Java web应用程序框架,由Apache软件基金会维护。...在实际开发过程中,结合Tapestry的其他特性,如组件服务、国际化支持、模板语言等,你将能构建出更高级、更灵活的应用系统。

    tapestry官方中文文档

    总的来说,Tapestry 4是一个强大且灵活的Web开发框架,通过其组件化、声明式编程和事件驱动的特性,能有效提高开发效率,同时保持代码的整洁和可维护性。对于想要深入Java Web开发的开发者来说,掌握Tapestry的知识...

    Tapestry简单入门.rar_java Tapestry_tapestry

    Tapestry将页面、组件和服务等概念结合在一起,创建出一种高度模块化的开发方式。 在"Tapestry入门.docx"中,你将了解到如何设置开发环境,包括安装必要的工具和库,配置IDE(如Eclipse或IntelliJ IDEA),以及创建...

    Tapestry通用WEB框架

    9. **国际化与本地化**:Tapestry提供强大的i18n(国际化)和l10n(本地化)功能,允许开发者轻松创建多语言应用。它支持资源文件,用于存储各种语言的文本和格式。 10. **错误处理与调试**:Tapestry的错误处理...

    Tapestry例子

    在提供的链接中(http://blog.csdn.net/princelxz/article/details/29575733),作者详细介绍了如何在Tapestry中实现模块化,包括创建模块类、定义组件和服务、配置页面等步骤。读者可以参考该博客文章以深入理解...

    tapestry 实例

    4. **国际化与本地化**:内置对多语言支持,方便实现应用的国际化。 **五、Tapestry 学习资源** 1. **官方文档**:Apache Tapestry 提供了详尽的官方文档,包括快速入门、API参考和示例项目。 2. **社区支持**:...

    Tapestry教程

    通过这种方式,Tapestry实现了高度的组件化和声明式编程,使得开发者可以专注于业务逻辑,而不是底层的HTTP请求处理和页面渲染。此外,Tapestry还提供了强大的类型安全、国际化、AOP(面向切面编程)支持,以及对...

    Tapestry API

    为了提高性能,Tapestry实现了组件级缓存和页面状态的持久化。`Cache`接口和`PersistentComponentState`类是实现这些特性的关键。 10. **测试支持** Tapestry提供了一系列的测试工具,如`PageTester`,允许开发者...

    tapestry3开发指南,带tapestry3所有jar包

    Tapestry管理这些页面和组件的创建、初始化、渲染和销毁过程。 2. **模板和元数据**:Tapestry使用HTML模板定义页面布局,并通过元数据(如TML文件)来指定组件的属性和行为。元数据文件通常与HTML模板一起存放,...

    tapestry5.4

    这在`tapestry54`的示例中也有体现,我们可以看到如何设置和使用资源库来实现国际化。 **8. 安全性** Tapestry 5.4 包含了一些内置的安全特性,如CSRF保护、输入验证和权限控制。开发者可以通过配置和扩展这些特性...

    tapestry4.1.6

    6. **国际化与本地化**:Tapestry 支持多语言应用,可以轻松地切换不同的语言环境,提供全球化服务。 7. **模板语言**:Tapestry 使用一种基于HTML的模板语言,允许开发者在HTML中嵌入Java代码,同时保持HTML的清晰...

    tapestry3文档

    此外,Tapestry还支持国际化和本地化,使应用能够适应全球市场的需求。 ### 二、JavaBeans和属性 JavaBeans是Java平台上的标准组件模型,广泛应用于Tapestry组件的内部结构。JavaBeans属性用于表示组件的状态,...

    tapestry源码 api等

    它强调组件化、模块化和松耦合的开发方式,使得开发人员可以构建出高效、可维护的Web应用。以下是对Tapestry源码、API及相关库的详细解读: 1. **Tapestry Core**: 这是Tapestry框架的基础部分,包含了核心组件、...

    关于Tapestry的一些个人总结

    2. **组件化开发**:Tapestry采用了组件化的开发模式,每个页面或页面的一部分都可以被视为一个组件,这些组件可以被重用,并且易于维护。 3. **强大的模板系统**:Tapestry提供了一套丰富的模板语言,开发者可以...

    Tapestry4开发指南

    Tapestry4是一个基于Java的Web应用程序框架,它强调组件化、模版驱动和声明式编程,极大地提高了开发效率和代码的可维护性。 在Tapestry4中,最重要的概念是组件。组件是Tapestry的基础单元,可以视为HTML元素的...

    Tapestry4开发指南.rar

    7. **国际化和本地化**:Tapestry 4支持多语言环境,可以方便地实现内容的国际化和本地化,适应全球化的Web应用需求。 8. **错误和异常处理**:Tapestry 4提供了一套完整的错误和异常处理机制,使得开发者可以优雅...

    tapestry学习入门资料

    1. Tapestry 把在建立 Web 应用程序容易出错的工作交由框架本身来完成,接管了大量手工完成的任务,如分发用户请求,创建和解释 URL 信息,操作本地化和国际化等等大量的工作。 2. Tapestry 由“对象、方法、域”...

    tapestry4开发指南

    另外,本书还会涉及国际化和本地化支持,帮助读者实现多语言的应用。此外,书中会讲解如何利用Tapestry 4的测试框架进行单元测试和集成测试,确保应用的质量。 最后,书中可能会提供一些实战项目,让读者有机会将所...

Global site tag (gtag.js) - Google Analytics