本站首页    管理页面    写新日志    退出


«November 2025»
1
2345678
9101112131415
16171819202122
23242526272829
30


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7664142
建立时间:2006年5月29日




[Tapestry]Tapestry开发Wap应用程序(原创)(转载)
软件技术,  电脑与网络

lhwork 发表于 2006/6/29 15:34:06

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目录下,最后的目录结构如下图所示。 500)this.width=500'> 然后我们进行web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4"     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">      <display-name>Wap Zone</display-name>      <servlet>        <servlet-name>article</servlet-name> <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>      </servlet>      <servlet-mapping>         <servlet-name>article</servlet-name>         <url-pattern>/app</url-pattern>     </servlet-mapping>      <mime-mapping>         <extension>wml</extension>         <mime-type>text/vnd.wap.wml</mime-type>      </mime-mapping>       <mime-mapping>         <extension>wmls</extension>         <mime-type>text/vnd.wap.wmlscript</mime-type>     </mime-mapping>     <mime-mapping>         <extension>wbmp</extension>         <mime-type>image/vnd.wap.wbmp</mime-type>     </mime-mapping>      <welcome-file-list>         <welcome-file>index.wml</welcome-file>     </welcome-file-list> </web-app> 这里关键的就是配置了一个名字叫article 的servlet,它的 实现类是org.apache.tapestry.ApplicationServlet,并且把所有/app的请求都交这个servlet来处理。   接下来在WEB-INF目录下新建一个XML文件,命名为hivemodule.xml,内容如下:   <?xml version="1.0" encoding="UTF-8"?> <module id="WapZone" version="1.0.0" package="com.wap.zone.view"> </module> 这里的module的 id只 是起标识的作用,因为Hivemind可以拥有很多的配置文件,所以一般都使用包名作为id以保证唯一性,package 标识该module的默认包所在路径。对于初学者来说可能不太理解这个hivemodule.xml文件到底是做什么用的,其实这个文件是 Tepestry作者开发的另一个开源项目Hivemind的配置文件,就象spring里的applicationContext.xml一样的作用。这个Hivemind开源项目也和spring类似,都是所谓的反转控制的框架,网上有一些介绍它的文章,可以自己去看看,这里就不详细介绍了,因为我也不太清楚,呵呵。好了,闲话少说,咱们接着往下讲。 接下就是在WEB-INF目录下创建article.application,首先说明一下这个文件的名称这个文件的名称和web.xml文件中的<servlet-name>article</servlet-name>是相关的,大家可能已经注意到了,这个文件的名称和<servlet-name>的值是一样的。文件内容如下: <?xml version="1.0" encoding="UTF-8"?>   <!DOCTYPE application PUBLIC  "-//Apache Software Foundation//Tapestry Specification 4.0//EN"  "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">   <application name="Wap Zone" engine-class="org.apache.tapestry.wml.WMLEngine">     <meta key="org.apache.tapestry.template-extension" value="wml"/>     <meta key="org.apache.tapestry.page-class-packages" value="com.wap.zone.view.article"/>     <library id="wml" specification-path="/org/apache/tapestry/wml/WML.library"/> </application>  在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文件:   <?xml version="1.0" encoding="GBK"?> <!DOCTYPE page-specification PUBLIC  "-//Apache Software Foundation//Tapestry Specification 4.0//EN"  "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd">   <page-specification>   </page-specification> 最后,我们在web/目录下新建一个Home.wml文件: <?xml version="1.0"?>    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"    "http://www.wapforum.org/DTD/wml12.dtd"> <wml>     <head>         <meta http-equiv="Cache-Control" content="must-revalidate" forua="true"/>         <meta http-equiv="Cache-Control" content="no-cache" forua="true"/>     </head>     <template>         <do type="accept" label="Index">             <go href="../index.wml" />         </do>     </template>     <card id="card0" title="最新TOP10帖子列表">     <p>        <b jwcid="@Insert" value="ognl:test">              </b>        </p>     </card> </wml> 然后把这个项目部署到tomcat下,在Opera浏览器里输入http://localhost:8080/WapZone/app 就可以看到我们刚才的成果了


阅读全文(2097) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.871 second(s), page refreshed 144806925 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号