Tapestry开发Wap应用程序(原创)

来源:百度文库 编辑:神马文学网 时间:2024/05/06 05:52:16
1搭建环境
我们需要如下开发环境:
Eclipse3.1及其以上版本:http://www.eclipse.org/downloads/index.php
MyEclipse4.0及其以上版本:http://www.myeclipseide.com(可选)
Java SE 5.0及其以上版本:http://www.sun.com/download/index.jsp
Tomcat 5.5.12及其以上版本:http://tomcat.apache.org/download-55.cgi(其他web服务器也可以)
Tapestry4.0包:http://jakarta.apache.org/site/downloads/downloads_tapestry.cgi
Tapestry4.0支持包:http://jakarta.apache.org/tapestry/dependencies.html
Opera浏览器:http://www.Opera.com
下载以上这些组建后,我们就可以开发我们的wap程序了。
安装Eclipse及MyEclipse的过程我就不详细介绍了,然后我们用MyEclipse创建一个web工程,我们暂时命名为WapZone,如果你使用的是其他Eclipse组件也无所谓,创建一个普通的web工程即可,但是注意把刚才下载的Tapestry4.0包以及Tapestry4.0支持包中的jar文件拷贝到WEB-INF目录下,最后的目录结构如下图所示。

然后我们进行web.xml配置:

xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Wap Zone

article
org.apache.tapestry.ApplicationServlet


article
/app


wml
text/vnd.wap.wml


wmls
text/vnd.wap.wmlscript


wbmp
image/vnd.wap.wbmp


index.wml


这里关键的就是配置了一个名字叫article 的servlet,它的 实现类是org.apache.tapestry.ApplicationServlet,并且把所有/app的请求都交这个servlet来处理。
接下来在WEB-INF目录下新建一个XML文件,命名为hivemodule.xml,内容如下:



这里的module的 id只是起标识的作用,因为Hivemind可以拥有很多的配置文件,所以一般都使用包名作为id以保证唯一性,package 标识该module的默认包所在路径。对于初学者来说可能不太理解这个hivemodule.xml文件到底是做什么用的,其实这个文件是Tepestry作者开发的另一个开源项目Hivemind的配置文件,就象spring里的applicationContext.xml一样的作用。这个Hivemind开源项目也和spring类似,都是所谓的反转控制的框架,网上有一些介绍它的文章,可以自己去看看,这里就不详细介绍了,因为我也不太清楚,呵呵。好了,闲话少说,咱们接着往下讲。
接下就是在WEB-INF目录下创建article.application,首先说明一下这个文件的名称这个文件的名称和web.xml文件中的article是相关的,大家可能已经注意到了,这个文件的名称和的值是一样的。文件内容如下:

"-//Apache Software Foundation//Tapestry Specification 4.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">





在application文件中,我们做了以下事情:
第一:声明了项目名称:name=" Wap Zone ",并且定义了engine-class;
第二:我们定义了模板文件的扩展名为wml。
第三:我们导入了WML.library。
第四:我们定义了page文件与java文件相互对应的默认包路径,Tapestry4根据这个路径自动去寻找与Home.page同名的Home.java文件,如果找不到,那么就会默认使用BasePage类
到此为止,开发环境已经搭建完毕,下面我们先来写一个小的测试页面。
首先现在我们在src下新建包:com.wap.zone.view.article,然后在该包下新建一个Home.java文件:
package com.wap.zone.view.article;
import org.apache.tapestry.wml.Deck;
public abstract class Home extends Deck {
public String getTest() {
return "Hello World!";
}
}
接着在WEB-INF/下建一个Home.page文件:

"-//Apache Software Foundation//Tapestry Specification 4.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">


最后,我们在web/目录下新建一个Home.wml文件:

"http://www.wapforum.org/DTD/wml12.dtd">













然后把这个项目部署到tomcat下,在Opera浏览器里输入http://localhost:8080/WapZone/app
就可以看到我们刚才的成果了
_xyz