下一代WEB开发模式Tapestry简介

http://tech.ddvip.com   2006年11月25日    社区交流

本文详细介绍下一代WEB开发模式Tapestry简介

  

  其中,Insert这个JWC组件有一个名为value的属性,而我们在Home.page中将它与一个外部对像userName进行绑定,在程序真正运行的时候,HTML模板中的user组件读取demo.Home这个JAVA类的userName属性,然后通过OGNL工具对Insert组件的value属性进行更新,最后user组件将更新后的值插入到模板当中。好了,这时候你应该明白了Insert组件是怎样取值的吧。

  需要强调的是Page组件是一种特殊的JWC组件,它可以包含其它的JWC组件,但不能被其它的JWC组件所包含。除此之外,Page组件还有一些特殊的属性和功能,它也不能和其它组件进行组合而生成新的组件。

  组件的命名方式和HTML模板的命名方式有些不同,它可以以.page作为扩展名(如果是Page组件),或者以.jwc作为扩展名(如果是非Page组件)。组件一般放在当前web应用的WEB-INF目录下面,以本例来说,我们的Home.page这个文件就应该放在webapps/Welcom/WEB-INF目录下面。

  Home.java

package demo;
import org.apache.tapestry.html.BasePage;
public class Home extends BasePage {
private String userName = "Jack";
public String getUserName() {
return this.userName;
}
}

  最后一部分便是我们的demo.Home这个JAVA类,它实际上就是一个普通的javaBean,唯一不同的就是它必须从BasePage类中继承。它的作用就是为HTML模板中的user组件提供文本信息的来源,在本例中我们简单的返回”Jack”,但实际上getUserName方法还可以从JNDI、数据库、EJB中取得用户名。

责编:豆豆技术应用

正在加载评论...