![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tapestry
梦中风
java
展开
-
Tapestry 最新版5.1.0.5教程(一)
1、web.xml一般来说,使用Tapestry需要在Tapestry中添加2项内容A、 <!-- The only significant configuration for Tapestry 5, this informs Tapestryof where to look for pages, components and mixins. -->转载 2010-04-18 15:39:00 · 428 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(十一):自定义组件CheckBoxGroup
我记得好像是Appfuse的作者曾经这样评价过Tapestry:只要你真正掌握了Tapestry,你的开发效率将会得到极大的提高。为什么呢?我认为他这样说的一个重要原因就是Tapestry的组件机制。Tapestry提供了非常便利的组件定义机制,随着Tapestry的组件不断积累,Tapestry的开发将会变得越来越简单。本文就用一个实例来看一下Tapestry中是如何添加一个自定义组转载 2010-04-18 15:59:00 · 799 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(十):页面间传递多个参数
在tapestry5中,在页面之间传递基本有3种方法1、存放在Session中2、使用@Persist进行持久化3、使用页面context来传递参数。其中1和2都需要将数据存放在Session中,相对来说系统的开销比较大。尤其是多用户高并发情况下,对于性能可能会有一定的影响。使用页面Context来传递则需要在开发时写一些代码,增加了一些开发量,显得没有前两种方法方便。转载 2010-04-18 15:58:00 · 635 阅读 · 1 评论 -
Tapestry 最新版5.1.0.5教程(九):权限控制框架的实现-进阶篇
在上一篇中我们研究了如何实现SpringSecurity中Jsp Tag的<security:authorize ifAllGranted="ROLE_SUPERVISOR">的功能。这一次我们一起研究一下如何实现在Tapestry5.1中添加一个Filter来对所有的操作进行权限的过滤控制。在SpringSecurity中,我们一般是在application-context.x转载 2010-04-18 15:54:00 · 355 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(八):权限控制框架的实现-基础篇
Tapestry中并没有类似于Spring Security这样的专门的权限框架。对此Tapestry的作者Lewis认为主要是用户对于权限的要求实在太多变化了。他认为很难抽象出一个通用的 权限框架来满足所有的用户,所以他干脆就不费事去做这件事了。但其实我们很容易就能利用Tapestry已有的工具来完成类似于 SpringSecurity的功能。本文主要介绍如何实现类似于Spri转载 2010-04-18 15:52:00 · 459 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(七):与IBatis3的整合
与现在最流行的SSH相比较,Tapestry能够完全替代其中Struts2和Spring,但是他还是需要一个ORM的框架。IBatis由于比较低的学习曲线,也受到很多人的喜爱。尤其是在IBatis3中引入了许多新的概念和想法,使用更加安全和便利。本文主要介绍如何将Tapestry5.1和IBatis3进行整合。简要步骤:1. 准备工作2. 数据库的建立3. POJO的建立转载 2010-04-18 15:46:00 · 482 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(六):核心利器-IoC容器介绍
Tapestry IoC容器从历史上来说,是从从HiveMind继承发展而来,但是HiveMind和目前大红大紫的Spring都不能满足Tapestry的一些特定的需求,所以全新开发了一套IoC的容器。其核心思想就是使用Java代码自身来解决依赖注入而不是由Xml之类的配置文件来完成,这和Guice的思想是非常相似的,Lewis也承认从Guice那里借鉴了不少。另外需要说转载 2010-04-18 15:45:00 · 369 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(五):Hello示例程序的剖析
根据前面的4部分内容,我们已经了解了Tapestry的基本概念,掌握了配置、组件等内容。现在我们通过剖析Tapestry的入门示例来对Tapestry进行一个总体上认识。1、web.xml app Tapestry 5 Application <!-- The only significant configuration for Tapes转载 2010-04-18 15:44:00 · 449 阅读 · 1 评论 -
Tapestry 最新版5.1.0.5教程(四)
1、Tapestry组件的写法a、<t:textfield t:id="userName" t:value="jack"/>,这样的写法的优点是,看上去比较直观,与Struts等Web框架的一致。但是缺点就是,使用浏览器(或者美工)直接看页面的时候,浏览器无法正确显示这个组件。b、<input type="text" t:type="textfield" t:id="us转载 2010-04-18 15:44:00 · 431 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(三)
在讲述页面之间传递值之前首先要介绍一个Tapestry的页面缓存。Tapestry的一个经常被提及的就是页面的缓存,Wicket也有页面缓存,但是Wicket的页面是缓存在Session里的,缺省好像是只缓存5个页面。这一点让我对Wicket的印象打了折扣,首先,这种机制在高并发,也就是多人同时在线的时候,感觉页面缓存会占用大量资源。而Tapestry的页面缓存是在一个大池中转载 2010-04-18 15:43:00 · 437 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(二)续
1、在Tapestry中,页面称之为页面模板(Page Template)。Tapestry的页面模板必须是一个Well Formed Xml,需要引入Tapestry的Xml命名空间才能使用Tapestry的组件。示例:<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">2、在页面模板中可以使用表达原创 2010-04-18 15:43:00 · 385 阅读 · 1 评论 -
Tapestry最新版5.1.0.5教程(二)
1、Start.tml和Start.javaTapestry不需要在Web.xml中配置welcome页面,也是使用约定大于配置的方式,默认的起始页面就是在pages目录下的Start。Tapestry中的页面由两部分组成:一个Java类和一个相同名字的模板文件(类似于jsp,Tapestry中的后缀名为:tml)。其中Java类是必须的,就算是没有任何代码,也必须要生成一个转载 2010-04-18 15:41:00 · 363 阅读 · 0 评论 -
Tapestry 最新版5.1.0.5教程(十二):自定义前缀prefix
在教程的第四部分(http://www.blogjava.net/usherlight/archive/2009/06/20/283396.html)我们已经粗略地介绍了Tapestry的前缀,其中提及最常用的两种literal和prop。这里顺便再介绍一下其他的几个前缀.1、context,这个经常在引用图片的时候用到。比如:<img src="${context:imag转载 2010-04-18 16:02:00 · 449 阅读 · 0 评论