Tapestry5 基本结构
概论
处理请求
方法论
基本组件
Form管理
其他组件
概论
定义一个模板
Tapestry5模板都遵守XML文档语法
如果使用特殊字符(比如 ;)必须使用一下(X)HTML DOCTYPES
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0
Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-
strict.dtd">
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0
Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML
4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01
Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
使用一下方式进行资源绑定
组件使用默认资源包来找到message
他们也能通过包含页面目录信息找到message(Labels Error Message)
通过《MyPage.java》关联到资源文件。在相同的目录下放置MyPage.properties
资源目录信息必须在 classpath目录下
有一个全局默认的资源文件 WEB-INF/AppName.properties
使用${message:key}的方式来访问资源文件目录(在*。Tml文件中使用)《Key》是关联到资源文件的关键。
使用Tapestry5组件必须使用Tapestry5的命名空间
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<head>
<title>Hello World Page</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
可以自定义模板的编码方式,明确编码方式必须是模板文件的第一行(甚至在DOCTYPE之前),否则编译器将会报错,代码如下:
<?xml version="1.0"encoding="ISO-8859-1"?>
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
…
</html>
模板和静态文件
通过 ${asset:<filepath>}在模板中使用静态资源(图片)tapestry5负责检查文件是否存在,为客户端建立相应的URL
${asset:<filepath>}中 filepath是关键,用 “context:”前缀,如果图片存储在应用程序的文档目录,用“classpath:”前缀,如果图片存储在应用程序的classpath路径下。建议优先使用 “context:”前缀
自定义组件的外观
应用css,tapestry5使用css定义组件的外观,默认使用default.css文件,我们可以通过进入自定义的css文件来覆盖默认外观,引入css文件的原理和图片是一样的。
<style type="text/css">@import url(${asset:context:static/css/style.css});</style>
用户定义的css会优先于系统默认的css文件
模板和java文件的交互
模板通过类属性来获取数据
In java文件
public String getName() {
return name;
}
public void setName(String name){
_name = name;
}
In tml 文件
使用 ${name}来获得值
对于复杂的对象也同样使用比如:
<< ${monObjet.name} >> 将被翻译成
<< getMonObjet().getName() >> 如果对象有可能是null将用“?”标注避免发生exception,写法如下:
<< ${monObjet?.name} >> 如果对象是null则返回空字符串
调用一个tapestry页面—URL
Tapestry管理着自己的URL格式
增加了URL的可读性
是URL参考简单化
允许URL 收藏
呈现(Rendering)类型请求:
动作(Action)类型请求
完成于2008年10月5日星期日 16:50:33