精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-19
我使用的是Tapestry5.0.4,我想将项目中的页面类*分包*管理
我在web.xml设置了 <context-param> <param-name>tapestry.app-package</param-name> <param-value>org.opend.bogo</param-value> </context-param> 这样我就可以建立子包org.opend.bogo.pages.admin,将一些页面类建立在该包下 如:我生成了两个文件Shop.java, Shop.html在该包下,这样我通过 http://localhost/bogo/admin/Shop.java 一切OK(注意这里bogo是虚拟目录名) 现在我想把Shop.html移动到web context相关目录下统一管理,如WEB-INF/admin下 但是当我再次访问时,系统总是提示我找不到这个.html文件 你知道这个问题怎么处理吗? |
|
返回顶楼 | |
发表时间:2007-05-21
不是放到WEB-INF下面吧 你试试放到WebContent/admin里面。 如果不行的话就只有放在package里面了
|
|
返回顶楼 | |
发表时间:2007-05-22
我进行很多测试后发现原来是这样
如果Page类名和子包相同或者以为子包名为前缀,则发生这个问题,否则不会 如Admin.java, Admin1.java放到包org.opend.bogo.pages.admin下时,如果此时把Admin.html,Admin1.html放到WEB-INF/admin下就不行,必须放到Page类包下, 否则则没问题 |
|
返回顶楼 | |
发表时间:2007-05-22
T5新增页面是不能热部署,因为T在启动时创建所有页面的实例。
|
|
返回顶楼 | |
发表时间:2007-05-22
koda 写道 我进行很多测试后发现原来是这样
如果Page类名和子包相同或者以为子包名为前缀,则发生这个问题,否则不会 如Admin.java, Admin1.java放到包org.opend.bogo.pages.admin下时,如果此时把Admin.html,Admin1.html放到WEB-INF/admin下就不行,必须放到Page类包下, 否则则没问题 你看文档的时候需要仔细一点。。 http://tapestry.apache.org/tapestry5/tapestry-core/guide/component-classes.html 引用 Sub-Folders / Sub-Packages
Classes do not have to go directly inside the package (pages, components, mixins, etc.). It is valid to create a sub-package to store some of the classes. The sub-package name becomes part of the page name or component type. Thus you might define a page component com.example.myapp.pages.admin.CreateUser and the logical page name (which often shows up inside URLs) will be admin/CreateUser. Tapestry performs some simple optimizations of the logical page name (or component type, or mixin type). It checks to see if the package name is either a prefix or a suffix of the unqualified class name (case insensitively, of course) and removes the prefix or suffix if so. The net result is that a class name such as com.example.myapp.pages.user.EditUser will have a page name of user/Edit (not user/EditUser). The goal here is to provide shorter, more natural URLs. |
|
返回顶楼 | |
发表时间:2007-05-22
KorbenZhang 写道 T5新增页面是不能热部署,因为T在启动时创建所有页面的实例。
你是tapestry群里面的kroben吧。 |
|
返回顶楼 | |
发表时间:2007-05-22
KorbenZhang 写道 T5新增页面是不能热部署,因为T在启动时创建所有页面的实例。
确实有这个问题。 这点就非常不爽。 T5离真正使用到项目中还需要时间。 而且现在的组件太少了。 现在做项目的话 TAPESTRY4 还是更合适。 毕竟非常成熟了。 |
|
返回顶楼 | |
发表时间:2007-05-24
To dengyin2000
谢谢你的提醒,我今天仔细看过官方文档,的确是这样,怪我心情急躁,以后注意:) |
|
返回顶楼 | |