JSF中编写一个在页面上显示的Hello World2013-07-20 关东升 我们编写一个在页面上显示是“Hello World! ”,我们至少需要编写一个Page对象和一个对应模板文件(tml)。第一步,Page对象编写在Tapestry5中Page是与一个页面对应的POJO对象,它不需要继承Tapestry框架的任何基类或实现任何接口,但是随着我们业务变得复杂Page会增加,在它的内部会增加一些事件处理方法和Annotations(标注)。作为第一个运行的首页面的Page对象命名是有规定的“Start”,当然我们还可以设定成为别的命名“Start”是默认的命名,而且它必须放在“com.kingbegin.web.pages”包下面,Start.java的代码如清单所示。
package com.kingbegin.web.pages; public class Start {private String message; public String getMessage() { return "Hello World!"; } }从程序清单我们message属性和对message属性访问的getMessage方法以备页面中显示。第二步,编写模板文件与Page对象Start.java对应的模板文件是Start.tml,它的存放位置有两个地方一个是与Page对象Start.java放在同一个包下面<tapestry5-first工程路径>srccomkingbeginwebpages目录下,另外一处是放在WEB-INF(<tapestry5-first工程路径>WebRootWEB-INF)目录下。Start.tml代码如清单所示。
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> <head> <title>第一个Tapestry页面</title> </head> <body> <h1> 第一个Tapestry页面 </h1> <h2 id="label1"> ${message} </h2> </body> </html>从程序清单Start.tml文件本质是一个XHTML文件,它使用了Tapestry5命名空间——xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd",在模板文件中还混合有表达式语言“${message}”,表达式语言可以读取Page对象数据,此外在模板文件中还会有反映控件的标签元素,进一步实现与Page对象的交互。