Tapestry 学习 2

《Enjoying Web Development with Tapestry》是本入门好书,写得很清楚。

Tomcat5.5设置在$TOMCAT/conf/Catalina/localhost/<webapp>.xml

HelloWorld.xml 中写这个:<Context docBase="c:/workspace/HelloWorld/context" path="/HelloWorld"/>

访问Tapestry页面 http://localhost:8080/HelloWorld/app?service=page&page=Home

http://localhost:8080/HelloWorld/ 和所有jsp一样。

app在web application中定义。

service=page 显示一个文件

page=Home 显示Home.html

 

页面的内部调用次序

<html>Hello <span jwcid="subject">World</span>!</html>

1. 正常html代码 <html>Hello

2. 输出 <html>Hello

3. 找到Tapestry控件<span jwcid="subject">World</span>

4. Tapestry按照定义创建控件,这个控件是java的Component "subject"

5. Tapestry创建了html代码,John

6. 输出 John

7. 正常html代码 !</html>

8, 输出 !</html>

 

如何创建一个控件,在页面定义:

<page-specification>
    <component id="subject" type="Insert">
        <binding name="value" value="ognl:greetingSubject"/>
    </component>
</page-specification>

id 是标志,type是Tapestry的控件类型,insert表示输出text形式。value是Insert的一个参数。"ognl:greetingSubject"是要找的表达式。

Tapestry如何创建一个java对象

1. 建立一个org.apache.tapestry.html.BasePage对象。这是页面所有的基类。

2. 根据XXX.page把属性等都创建出来

3. 这里要创建一个subject控件,先执行getGreetingSubject()函数获得GreetingSubject的值,它的value就是subject的输出。

package com.ttdev.helloworld;
import org.apache.tapestry.html.BasePage;
public class Home extends BasePage {
    public String getGreetingSubject() {
        return "John";
    }
}

这里是java文件。

Tapestry缺省是cache HTML 和 .page文件,

set JAVA_OPTS="-Dorg.apache.tapestry.disable-caching=true"可以关闭Tapestry的cache

其它的写法

<binding name="value" value="ognl:'Paul'"/>直接返回string

<binding name="value" value="literal:Judy"/>在一个string队列中返回

<binding name="value" value="greetingSubject"/>缺省的ognl前缀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值