快速业务通道

构建适用不同客户端的J2EE网络应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
程序(4) 时间:2010-12-12

产生XML的组件

XML生成程序是一个由一套根据应答产生相应的XML页面的类组成的组件。 例如,OptionsXML.java类有一个getOptionsXML()静态方法,用来使用指定的语言和请求设备所需要的内容来产生Options.jsp文件。

方法参数是pagetype(" Web "、" Wap "或者" iMode ")、language、country和一个HttpResponse对象,这个对象是向客户端写应答所用的,举例来说:

OptionsXML.getOptionsXML(pageType, language, country, response);

XML生成程序类首先创建一地区对象然后加载需要的资源包(Resource Bundle)文件。

//创建地区和资源包对象 Locale locale = new Locale(language,country); ResourceBundle rb = ResourceBundle.getBundle("ArticlesGUI",locale);

在前面这小段代码中,“ArticlesGUI”是资源文件名。 locale实例定义了资源文件的后缀。 比如说,一个日文请求将使用ArticlesGUI_ja_JP.properties资源包文件。 同样地,对于一个英语请求,资源包文件将是ArticlesGUI_en_US.properties。

想要获取Java应用程序中的更多的国际化信息,请访问http://java.sun.com/products/jdk/1.1/docs/guide/intl/。

在加载适当的资源包文件之后,JSP页面实例化一个GenerateXML对象。 在完全的国际化应用程序中,所有的文字--甚至栏目标签、按钮文字和消息都是从资源文件中取得的,详细的请看下面的程序代码。 这个程序代码段添加一个页面标题、一个表单元素和一个超链接到页面中。

String sb=""; xml.addPageTitle(rb.getString(pageType+"_Options_Page_Heading")); Element form = xml.addForm(1, "optionform",true); xml.addLink(1,"_self", rb.getString(pageType+"_Options_Page_Option_1"), " ", url+"YourResponse.jsp?optionType=1&language=" +language+"&country="+country, rb.getString(pageType+"_Options_Page_Option_1"), form,true); sb = xml.getGeneratedXMLString();

XSL/XSLT所扮演的角色

XSL在这个应用程序中扮演举足轻重的角色,负责把产生的XML文件转化为一个特定用户设备上所用的格式。 应用程序使用服务器端XML转换而不是客户端转换,这是因为∶

· 并不是所有的客户端都安装了XML语法分析程序。或者安装了也不一定都可用。 分析服务器上的XML消除了对客户端的依赖性,使应用程序更加容易支持任何用户设备。

· XSL技术还没有完全成熟,标准还没有固定;所以不同的客户端可能会使用不同的方法转换XML。 使用服务器端转化就可以避免上述这些问题。

因为这个应用程序很小,只有一个非常简单的图形用户界面,所以每个用户设备之需要一个XSL样式表:

· articles-html-form.xsl —用于生成HTML (Web)

· articles-wml-form.xsl —用于生成WML (WAP)

· articles-imode-form.xsl —用于生成CHTML (iMode)

构建适用不同客户端的J2EE网络应用程序(5)

时间:2010-12-12

然而,这个应用程序的结构仍然可以扩展。 随着图形用户界面的复杂性的增加,你可以为相对于每种用户设备格式的每个页面编写不同的XSL样式表。 代码段1是WML特定的样式表articles-wml-form.xsl中的一段。

代码段1:

<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes" media-type="text/vnd.wap.wml" d

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号