Tapestry5.1中的一些"规约"

1.在Expansion的绑定表达式中,如果要避免空指针引发异常,可以用“?.”代替“.”,例如:

${prop:foo?.bar?.baz}

这样,不管foo或者bar是null,整个表达式都会返回null,对其赋值则不会引发任何操作。

 

2.页面类和页面模板一般需要放在同一个目录下,通过web.xml中的tapestry.app-package参数设置包名,例如:

<context-param> <param-name>tapestry.app-package</param-name> <param-value>com.tapestry5</param-value> </context-param>

我们把tapestry.app-package参数设置为了“example.hellotapestry”,那么页面类就要放在“com.tapestry5.pages”包中,组件类要放在“com.tapestry5.components”包中。如果一个类(通常是抽象类)是其它页面/组件类的基类,那么应该被放在“com.tapestry5.base”包中,用于被其它页面/组件继承。

 

3.AppModule类的定义:

在“com.tapestry5.services”包中新建一个类AppModule。类名不能随便取,它是由web.xml中的Filter名称“app”,把第一个字母大写然后加上“Module”组成的。而且AppModule类必须放在“com.tapestry5.services”包中。

 

未完,待续...

你可能感兴趣的:(Tapestry5.1中的一些"规约")