【转】Tapestry5和Eclipse的整合

来源:互联网 发布:java自行车 知乎 编辑:程序博客网 时间:2024/05/16 03:10
Jakarta Tapestry是一个开源的Java Web应用框架。你或许会说:"大同小异的东西罢了."多数 情况下,我同意你的观点,然而,只要花上些许时间研究一下,你会发现Tapestry跟别的框架大为不同,它是值得严肃对待的。 Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象(objects),方法(methods),属性(properties)替代以往的URLs和查询参数, 重新诠释Web应用开发。

Tapestry5(T5)相对以前的版本,配置简单了很多。在Eclipse上试了一下,步骤如下:

在eclipse里先新建一个Dynamic Web工程命名为:T5_test,然后把T5的lib目录里的几个相关的jar文件添加到WebContent/WEB-INF/lib里面。这些是从T5的lib里复制到lib里面的文件:

antlr-runtime-3.1.1.jar
commons-codec-1.3.jar
commons-logging-1.1.1.jar
javassist-3.9.0.GA.jar
log4j-1.2.14.jar
slf4j-api-1.5.2.jar
slf4j-log4j12-1.5.2.jar
stax2-api-3.0.1.jar
stax-api-1.0.1.jar
tapestry5-annotations-5.1.0.5.jar
tapestry-core-5.1.0.5.jar
tapestry-ioc-5.1.0.5.jar
woodstox-core-asl-4.0.3.jar

如果要配合spring或hibernate之类的框架使用还要将相关的文件放进去。OK,下一步就是修改web.xml文件:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>T5 Test1</display-name>
<context-param>
<param-name>tapestry.app-package</param-name>
<param-value>t5</param-value>
</context-param>
<filter>
<filter-name>app</filter-name>
<filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>app</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>



然后建立Start.java的类文件,注意包名最后一个单词必须为pages,否则T5无法找到这个包。

Start.java

package t5.pages;

public class Start
{
public String getHello()
{
return "Hello Tapestry5!";
}
}

最后建立一个Start.tml页面文件,后缀名是.tml不是html,别搞错了,把这个文件放到和Start.java同一个目录下。

Start.tml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">
<head>
<title>Hello T5</title>
</head>
<body>
${prop:Hello}
</body>
</html>

然后在部署到tomcat里,然后再在浏览器地址栏里敲入:http://localhost:8080/T5_test/Start就可以看到运行结果了。注意:Start后面不用跟任何后缀。


内容转自:http://blog.china.alibaba.com/article/i10405019.html 
原创粉丝点击