Websharp 8 - 国际化支持

国际化支持也叫多语言支持,它是通过资源文件来实现的。整个过程包含了创建资源文件、创建模板、编写代码三个步骤。

创建资源文件

资源文件必须满足如下要求:

1)资源文件可以随意命名,但必须放在Classpath所能搜索到的路径下,例如classes/demo/resource.ini。

2)资源文件必须是UTF-8编码的文件。这和java里面的resourcebundle、properites文件不太一样,java里面的文件编码是Ansi编码,对于双字节的字符必须用“/uxxxx”的方式来表示。而Webshap为了方便资源文件的查看和编辑,统一使用UTF-8编码。可以用记事本创建好资源文件,然后另存为UTF-8格式即可。

3)资源文件由多个资源项组成,每个资源项占一行,格式为“Name=Value”,类似Windows 的INI文件。

创建模板

模板文件用到了资源变量,资源变量是以“#”开头的变量,例如 <h3>{%#Title%}</h3>,这个Tilte就是资源项中的“Name”,而最终输出结果就是资源项中的“Value”。

编写代码

模板中虽然定义了各个资源变量,但没有指定使用哪一个资源文件,这需要编码来动态指定。如下代码,只要在Webshap的render(resrouce)函数中指定资源文件的路径,则自动加载此资源文件,并给模板中可以匹配的上的资源变量赋予资源文件里面的内容。

Websharp ws = new Websharp("resource.htm", charset, request, response);

……

ws.render("demo/resource.ini" );

在实际的开发中,我们会创建多个语言的资源文件,例如resource_cn.ini 、resource_en.ini分别代表中文和英文,然后在程序中动态判断当前需要调用哪个资源文件,最终实现一套代码,多种语言界面。

 

示例

1)用记事本创建资源文件classes/demo/resource.ini,添加如下的两行数据,然后另存为UTF-8编码的文件。

Title=Websharp Resource Test
Copyright=Copyright 2005-2008 Coolmasoft

 

2)创建模板文件resource.htm,包含如下内容。“Title”和“Copyright”两个资源变量可以在上面的资源文件中找到。

<html>
<body>
<h3>{%#Title%}</h3>
<p>Hello ,welcome to websharp world!</p>
<hr>
 {%#Copyright%}
</body>
</html>

3)创建和resource.htm同目录的resource.jsp:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="websharp.core.*,websharp.web.*,websharp.util.*"%>
<%
    Websharp websharp = new Websharp("resource.htm", "UTF-8", request, response);
    websharp.render( "demo/resource.ini");
%>

 

 

运行结果如下,可以看到资源文件里面的内容已经自动输出了。

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值