1.在Expansion的绑定表达式中,如果要避免空指针引发异常,可以用“?.”代替“.”,例如:
${prop:foo?.bar?.baz}
这样,不管foo或者bar是null,整个表达式都会返回null,对其赋值则不会引发任何操作。
2.页面类和页面模板一般需要放在同一个目录下,通过web.xml中的tapestry.app-package参数设置包名,例如:
我们把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”包中。
未完,待续...