下一代WEB开发模式Tapestry简介

豆豆网   技术应用频道   2006年11月25日    社区交流

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

  这个文件相信所有的JSP/servlet开发员都非常熟悉了吧?在这个文件中我们定义了一个名为Welcome的servlet,它实际上就是org.apache.tapestry.ApplicationServlet这个类,它的主要作用是对客户的请求进行包装,然后转发到各个page组件进行处理,当然如果你有特殊需要,也可以继承ApplicationServlet类(当然这种情况很少出现)。

  其中<servlet-mapping>用来进行地址映射,相信servlet开发员应该都知道它的作用吧?我们把所有对于/app的请求全部转发给Welcome这个servlet进行处理,当然你也可以将/app换成其你自己的定义。最后我们打开一个IE浏览器,在地址栏中输入http://localhost:8080/Welcome/app 就会看到结果。

  好了,现在我们就讲一下关于上面那个用户注册的例子吧。由于篇幅的关系,我就不把所有的配置文件一一罗列了,只摘录一些关键的配置。

  CustInfo.html

<html jwcid="@Shell" title="Welcome Page">
<body jwcid="@Body">
<form jwcid="@Form" listener="ognl:listeners.submit">
Customer Name: <input jwcid="custName" type="text"/><br/>
Date-of-Birth: <input jwcid="dob" type="text" format="MMM dd, yyyy"/>
(Month DD, YYYY)<br/>
<input type="submit" value="Submit"/>
</form>
</body>
</html>

  也许你看了上面这个文件不禁会问:为什么有的组件名称前面加了一个“@”?原因如下:tapestry由于是由众多组件组成的,其中一般的组件都要在其Page组件中用<component>元素进行定义,对于一些简单的或者无其它附加参数的组件来说就显得比较麻烦,因此tapestry提出了显式定义组件和隐式定义组件这个概念,显式定义是指明确地在Page组件中定义过的组件,隐式定义是指没有明确地在Page组件中定义的组件,都要在组件名字前加一个“@”。

责编:豆豆技术应用

正在加载评论...