`
dengyin2000
  • 浏览: 1223178 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Tapestry5中 page template不能reload。

阅读更多
上午看了下tapestry5的文档,然后自己写了个简单的页面。发现page template不能自动的reload。但是page class是可以reload, 只有重启tomcat才可以看到效果。而且我试过加上-Dorg.apache.tapestry.disable-caching=true也是没有用的、

........


过了一段时间,想起T5文档中的一个例子,他是把page template放在classpath中的。如下图:



ok。 果然可以了。 但是还有一个问题,就是如果新增了一个页面,T5也是认不出来的?  有没有人遇到同样的问题?
  • 大小: 309.8 KB
分享到:
评论
17 楼 koda 2007-05-24  
To dengyin2000 

谢谢你的提醒,我今天仔细看过官方文档,的确是这样,怪我心情急躁,以后注意:)
16 楼 dengyin2000 2007-05-22  
KorbenZhang 写道
T5新增页面是不能热部署,因为T在启动时创建所有页面的实例。


确实有这个问题。 这点就非常不爽。 T5离真正使用到项目中还需要时间。 而且现在的组件太少了。 现在做项目的话  TAPESTRY4 还是更合适。 毕竟非常成熟了。
15 楼 dengyin2000 2007-05-22  
KorbenZhang 写道
T5新增页面是不能热部署,因为T在启动时创建所有页面的实例。


你是tapestry群里面的kroben吧。
14 楼 dengyin2000 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.
13 楼 KorbenZhang 2007-05-22  
T5新增页面是不能热部署,因为T在启动时创建所有页面的实例。
12 楼 koda 2007-05-22  
我进行很多测试后发现原来是这样
如果Page类名和子包相同或者以为子包名为前缀,则发生这个问题,否则不会
如Admin.java, Admin1.java放到包org.opend.bogo.pages.admin下时,如果此时把Admin.html,Admin1.html放到WEB-INF/admin下就不行,必须放到Page类包下,
否则则没问题
11 楼 dengyin2000 2007-05-21  
不是放到WEB-INF下面吧  你试试放到WebContent/admin里面。 如果不行的话就只有放在package里面了
10 楼 koda 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文件

你知道这个问题怎么处理吗?
9 楼 dengyin2000 2007-05-10  
Linuxboy 写道
我一直都是放在WEB-INF里的。我用的是Tomcat6,因为我的Dev环境是Eclipse WTP。新增页面的问题我没有测试过,不知道是什么情况。


那就有鬼了, 我用的也是wtp。使用了maven的wtp plugin。 服务器是tomcat5. tapestry的版本是5.0.4。
8 楼 Linuxboy 2007-05-10  
我一直都是放在WEB-INF里的。我用的是Tomcat6,因为我的Dev环境是Eclipse WTP。新增页面的问题我没有测试过,不知道是什么情况。
7 楼 dengyin2000 2007-05-09  
jerry.yujm 写道
唉。。图片和js看来不能放在classpath了。


当然可以放在classpath中。看看Asset
6 楼 jerry.yujm 2007-05-09  
唉。。图片和js看来不能放在classpath了。
5 楼 dengyin2000 2007-05-09  
Linuxboy 写道
已可以放在web-inf里啊。


你是用jetty吗?  你能不能试试tomcat。

还有个问题,如果在server已经启动的情况下再增加一个页面, 这个页面会找不到呀。 在T4中ok的。
4 楼 Linuxboy 2007-05-09  
已可以放在web-inf里啊。
3 楼 林秋枫 2007-05-09  
dengyin2000 写道
林秋枫 写道
5.0没有碰过。
4.0倒是比较熟悉。
等正式版本出来再考虑看看。

顺便灌水,楼主用的ide应该是netbean了。

tapestry5.0把html模板和class放在一起,应该可以省了不少配置的功夫吧?这种方式不知道好不好呢?


你眼花吧, 这么明显的eclipse界面。 package expoler。

 
是眼花了。
想问问tapestry5.0把html模板和class放在一起会不会有不好的地方?比如在应用图片或者js文件方面。
2 楼 dengyin2000 2007-05-09  
林秋枫 写道
5.0没有碰过。
4.0倒是比较熟悉。
等正式版本出来再考虑看看。

顺便灌水,楼主用的ide应该是netbean了。

tapestry5.0把html模板和class放在一起,应该可以省了不少配置的功夫吧?这种方式不知道好不好呢?


你眼花吧, 这么明显的eclipse界面。 package expoler。

 
1 楼 林秋枫 2007-05-09  
5.0没有碰过。
4.0倒是比较熟悉。
等正式版本出来再考虑看看。

顺便灌水,楼主用的ide应该是netbean了。

tapestry5.0把html模板和class放在一起,应该可以省了不少配置的功夫吧?这种方式不知道好不好呢?

相关推荐

    tapestry5中文文档

    Tapestry 5 的优势还体现在REST风格的URL、可降级的JavaScript、不依赖XML的配置等方面,同时它支持与其他框架(如Hibernate、Spring、Seam、Acegi)的集成,增强了灵活性和可扩展性。Tapestry封装了最佳实践,旨在...

    Tapestry5最新中文入门实例教程

    ### Tapestry5最新中文入门实例教程 #### 一、引言 Tapestry是一个使用Java语言创建Web应用程序的面向组件的开发框架。本教程旨在通过实际案例帮助读者掌握Tapestry 5的基本概念和核心功能,并体验其带来的高效开发...

    Tapestry5最新中文教程

    此外,Tapestry 5 提供了类重加载功能,使得开发过程中的代码改动能够即时生效,无需频繁的部署和重启,显著提升了开发效率。其异常报告机制详尽且具有指导性,帮助开发者快速定位和解决问题。 在Tapestry 5 中,...

    Tapestry 5 電子書

    《Tapestry 5 電子書》是关于Java Web开发框架Tapestry 5的一本详尽指南,由Packt Publishing在2007年出版。这本书旨在帮助开发者深入理解和掌握Tapestry 5的各个方面,从而利用其强大功能构建高效、可维护的Web应用...

    Tapestry 5 Building Web Applications.pdf

    - **页面生命周期**:了解 Tapestry 5 页面的生命周期及其在处理用户请求中的作用。 ##### 2. **项目设置与配置** - **开发环境搭建**:详细介绍如何设置开发环境,包括安装必要的软件和工具。 - **项目结构**:...

    tapestry官方中文文档

    总的来说,Tapestry 4是一个强大且灵活的Web开发框架,通过其组件化、声明式编程和事件驱动的特性,能有效提高开发效率,同时保持代码的整洁和可维护性。对于想要深入Java Web开发的开发者来说,掌握Tapestry的知识...

    Tapestry5开发文档手册.doc

    Tapestry 5 提供了一系列的功能,包括输入验证、本地化/国际化、状态管理和URL映射,使得开发者能更高效地构建安全、可扩展的Web应用。 Tapestry 5 的优点主要体现在以下几个方面: 1. 用户友好:Tapestry 在设计...

    Tapestry5和jQuery集成tapestry5-jquery.zip

    Tapestry5和jQuery集成.使用jQuery以极少的兼容问题完全替换Prototype 和 Scriptaculous库 标签:tapestry5

    tapestry5以上的帮助事例,帮助文档与spring衔接文档

    Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...

    tapestry5 自定义组件

    1. **组件类**:在创建自定义组件时,你需要继承 `tapestry5.Component` 类或者其子类,如 `tapestry5.Block` 或 `tapestry5.MarkupWriter`。在这个例子中,我们可能会创建一个名为 `MyEmail` 的类,它包含发送邮件...

    TapeStry5实例教程

    在这里提醒一下大家,这个教程讲的是tapestry5而不是tapestry4,如果需要看tapestry4的话,请看我传的另外一本有关tapestry的教程,英文的那本,里面的例子超级详细,英语也不难,感觉属于tapestry4里的巅峰之作。

    tapestry教程资料文档合集

    Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...

    tapestry 5 ..........

    ### 关于Tapestry 5的关键知识点 #### 1. 什么是Tapestry? Tapestry是一个开源框架,用于创建动态、稳健且高度可扩展的Java Web应用程序。它补充并建立在标准Java Servlet API之上,因此可以在任何Servlet容器或...

    Tapestry5实例(开发步骤)

    本文旨在通过一个简单的实例来详细介绍如何利用Eclipse、Maven和Jetty在开发环境中搭建并运行一个基本的Tapestry5应用。 #### 二、环境准备 在正式开始之前,我们需要准备好以下几项: - **Eclipse**:作为主流的...

    Tapestry5开发环境搭建(Eclipse)

    在本文中,我们将详细介绍如何使用 Eclipse、Maven 和 Jetty 搭建 Tapestry5 的开发环境。这不仅有助于理解基本的搭建流程,还能帮助开发者掌握必要的配置步骤和技术细节。 #### 一、环境需求 - **Eclipse**: 版本...

    Tapestry 5开发指南(英文)

    Tapestry 5是一款强大的Java Web应用程序框架,由Apache软件基金会维护。它提供了一种声明式编程模型,使得开发者能够创建动态、响应式的Web应用,同时保持代码的整洁和易于维护。本指南将深入探讨Tapestry 5的核心...

    tapestry官方中文文档及中文字典

    "tapestry中文字典"可能包含对Tapestry框架中的专有名词、API和概念的中文解释,帮助读者更准确地理解和记忆。它可能是以索引形式存在,方便查找和查阅。 通过学习这些文档,开发者可以全面了解Tapestry 4的架构和...

    tapestry4.02中封装ext的GridPanel组件

    在IT行业中,Web开发是一个重要的领域,而Tapestry和ExtJS是两个广泛使用的框架,它们各自在构建动态和交互式的Web应用上有着独特的优点。本文将深入探讨Tapestry 4.02版本中对ExtJS的GridPanel组件进行封装的相关...

Global site tag (gtag.js) - Google Analytics