最近正在学tapestry,看的教程是 Enjoying Web DevelopmentEnjoying Development
开发工具是netBeans 5.5 (装了Tapestry插件,支持tapestry4.0)
§1
1,jwcid 就是 java web 组件 id 与.page component的id属性相对应
2,ognl Object Graph Navigation language
是默认的前缀,可以不指定。
3,在一个 page属性文件中,有这样一句<binding name="value" value="ognl:userName"/>
那么此页对应的扩展了BasePage类的java类,必须有getUserName()方法.
ognl:'linzp' 这是一个字符串常量,字符串常量也可以这样:literal:Judy
4,<page-specification>的class属性指明此页对应的一个page类.就是扩展了BasePage类。
第一章基本上就是这些知识点吧,下面就是一个简单的例子。
在MyEclipse中支持Tapestry,不过支持的版本低了点,只是3.0,教程里使用的是4.0,有些东西在3.0里面不能运行好像..
IntelliJ IDEA 有Tapestry插件,不过要收钱的..收钱就收钱吧,我想下载下来看看,网上给的网址居然打不开..
使用NetBeans tapestry插件还可以。。
在web-inf文件夹下,IDE帮你生成了
Home.html
Home.page
tapestryapplication.application
hivemodule.xml
web.xml
tapestryapplication.application,hivemodule.xml这两个文件做什么的,我现在还不知道不关心.
tapestry的url拦截是在web.xml写的,生成的web.xml里已经写好了..
Home.html
< head >
< title ></ title >
</ head >
< body >
Hello, < span jwcid ="subject" ></ span >
</ body >
</ html >
Home.page
< component id ="subject" type ="Insert" >
< binding name ="value" value ="ognl:subject" />
</ component >
</ page-specification >
再写一个对应的page类 Home.java
import org.apache.tapestry.html.BasePage;
public class Home extends BasePage ... {
public String getSubject()
...{
return "linzp? Yeah,It's me...";
}
}
部署一下文件,运行..
或者在浏览器地址栏里输 http://localhost:8084/helloworld/app/
运行结果:
Hello,linzp? Yeah,It's me...