自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (5)
  • 收藏
  • 关注

翻译 Tapestry学习十五:关于组件(十)GRID组件

:Grid 组件 以前, 我们用LOOP组件去展示集合中的名人.它也并不困难,而且在许多情况下,他完全可以解决你的要求。 但是, 随着集合中名人的增多,问题也就随之而来.我们不想一下子把所有的名人都显示在一个页面上,我们需要一个分页的机制,同时可对姓名和职业等进行排序。我们可以增加很多代码和控制去实现我们想要的效果,但表的分页和排序的列是用户界面的非常整体的一部分,并且每一次展现它都不

2008-07-23 09:18:00 2120

翻译 组件号外:配置ASO

 在当前我们配置一个数据源给页面,用的是MockDataSource.但是当我们想要提供一个真正的数据源,想用一个RealDataSource的时候。难道我们要一个一个类的去替换他们吗?这肯定不是很好的设计。 最好的做法是在页面中使用接口:@ApplicationStateprivate IDataSource dataSource; 这样所有实现IDataSource

2008-07-11 15:54:00 670

原创 Tapestry学习十四:关于组件(九)Select组件

   在web应用中下拉选择菜单是必不可少的东西。在Tapestry中是用select组件实现的。而且select组件能很好的和emun相结合,避免在页面中写死那些选项。 我们在注册页面上价格选择框,让用户选择他的国家:  按惯例还是先看代码: Country: Country 1 Country 2  可以看到sele

2008-07-11 15:53:00 1698

原创 Tapestry学习十三:关于组件(八)submit组件

 为了解决上面的问题,我们需要一个submit组件:  我们还需要一个对应的提交事件处理方法: @OnEvent(component="submitButton")void onSubmitButton() { System.out.println("Submit button was pressed!"); // TODO: Some code to

2008-07-11 15:50:00 1224

原创 Tapestry学习十二:关于组件(七)IF和checkbox组件

 在用户注册的时候,我们想要给他们选择是否预定我们的时事资讯,那么我们就要新增一个选择框: 界面变的稍微复杂了,但是也给了我们一个学习新组件的机会。当用户点击该复选框,复选框应该消失,接受用户的电子邮件的文本框应该会出现。 在页面中的代码: <input type="checkbox"

2008-07-11 15:48:00 1700

原创 Tapestry学习十一:关于组件(六)Radio and RadioGroup

  Celebrity Collector: Registration Registration Label for user name: <input type="text" t:type="textfield" t:id="userName" t:value="userName

2008-07-11 15:41:00 1759

翻译 Tapestry学习十:关于组件(5)Another Use of PageLink Component

 首先,在showall.tml中,把actionLink组件换成PageLink组件,你可以把t:id属性去掉,因为它不再有用了。 ${celebrity.lastName}     去掉ShowAll.java中的关于处理这个事件的方法onShowDetails,并且在details.java中加入onActivate方法:   void onActivate(long

2008-07-11 15:38:00 869

原创 Tapestry学习八:关于组件(三)Limiting Access to a Page

 为了更有效率的去限制访问,我们可以用onActivate方法,这个方法在前面说use the page activation contex传值的时候说到过。这个方法在每次页面加载的时候都会被调用一次。如果在activation context中有值,那么可以通过参数的方式传到这个方法。任何访问这个页面的用户都将被验证。 还记得在前面关于成功验证的例子吗(这个我没说,等下稍微说下),我们将

2008-07-11 15:37:00 714

原创 Tapestry学习九:关于组件(四)Loop, Output and DirectLink

  基本上,这个页面就是在一个table中显示了所有的名人,并且lastname是个超链接,用户点击这个连接就会到所选中的名字的详细信息页面(这个页面以后再加)。看看代码: Celebrity Collector: All Celebrities All Celebrities in Collection <tr

2008-07-11 15:34:00 1991

原创 Tapestry学习七:关于组件(二)TextField, PasswordField and PageLink

我去创建一个登陆的表单并且设置一个超链接到注册页面:  Celebrity Collector Celebrity Collector Log in here: Label for the first text box: <input typ

2008-07-11 15:17:00 1874

原创 Tapestry学习六:关于组件(一)前戏

 一:关于例子工程这个Web应用程序将提供用户一个机会,收集他们喜爱的名人。用户将能够显示的收集,添加更多的名人,修改现有的信息等等。在为了不分散你学习Tapestry,最初版本的名人收藏,不会有任何真正的数据库。反之,一个简单的模拟数据源将可创造模仿存储和检索信息。不过,如果你想创造一些贴近现实生活中,附录B将解释如何以取代这个模拟数据源与一个真正的对象数据库,非常轻巧,非常容易的工作。

2008-07-11 15:04:00 771

原创 Tapestry学习五:创建和使用ASO

       既然我们已经谈到用户,它可以一提的是,很多时候我们会希望能有一些资料,供我们的Web应用程序所有的页面使用,一个典型的例子,例如信息是用户的特定设置,偏好和其他一些细节。如果把这一切都放在页面中传递这无疑是种负担;我们需要一种在任何时候需要都能找到的一些公共的资料。让我们看看在一个Tapestry应用我们如何能够做到这一点。     在Tapestry中,如果一个对象能被应用中的

2008-07-10 16:09:00 699

原创 号外:关于包的一个小问题

我们知道,5.06之后的tml文件都放在应用的根目录下,而对应的类文件都在pages包下但是随着页面的增加,我们可能想要使应用结构更明晰。例如,有一些专门处理订单请求的功能,我们自然想到要将这些放进一个订单的包中。所以,这是一种良好的安全的做法,很方便。    比如说我们想要增加一个子目录/secure,并且放一些页面进去。    如果页面的名字包含目录的名字,比如在/secu

2008-07-09 15:27:00 644 1

原创 Tapestry学习四:Using Page Activation Context

三:Using Page Activation Context  Tapestry5 有一个特殊的方式在两个页面间传值。首先,我们需要让这个页面“可激活”,其实就是增加两个方法:onActivate 和onPassivate。在HTTP 请求的生命周期的一个适当的时候Tapestry会调用这两个方法。这样就可以吧@Persist扔一边去了。  为Another.java增加两个方法:p

2008-07-09 15:24:00 1342

原创 Tapestry学习三:实例化页面的输入

   二:Making a Page Field Persistent    我们可以方便使用@Persist元注释去告诉Tapestry我们想让他记住我们已经赋给页面的值,给Another page的类加上注释:   @Persist    private String passedMessage;  再运行这个应用,它就会很完美的运行,并且Another page会成功的展示这个我

2008-07-09 15:14:00 879

原创 学习二:关于Tapestry的池

一:Tapestry Pages are Pooled       这意味着一个Tapestry应用,可以轻松地处理大量的并发用户,他能用最小的努力,服务每一个人的要求。        也就是说,用户请求一个页面。Tapestry能特别为此用户创造的一个实例,但是用户一旦转向另一个网页就将抛弃这个实例?这不是高效率,但是在下一个时刻,二十多个其他用户将前来,并要求一个起始网页的实例。那么重

2008-07-09 15:06:00 685

原创 学习一:前言也可以称作前戏

     Tapestry之前的概念,怎么建新工程,关于一些基础,就不说了,我是看的英文,觉得有些东西还不错,就直接照我的理解搞过来了。理解难免有偏差。   这里涉及两个页面 start.tml & another.tml   start.tml有一个currenttime,对应类中的getCurrentTime(); 有一个输入框 一个提交按钮,提交message的值到another.t

2008-07-09 15:00:00 643

原创 在学习Tapestry之前,先发发牢骚

      我学习TapeStry完全不是我本意,我是觉得这是个不成熟的框架,自己玩玩还好,要是真的应用在项目中风险就有些大了,而且这个框架的学习资料非常有限,各个版本之间的改动非常大,比如现在我们用T5,现在能找到少量的T5的资料,随后T6出来了,T5就完全没人去研究他了,毕竟没人在自己的项目中去用,那些追求新技术的人,也不会停留在T5上,而且我很怀疑这些版本之间能否兼容,因为5.05和5.06

2008-07-09 14:40:00 903 3

html 学习

html 学习 入门

2008-03-14

Ext 教程打包下载

Ext 教程打包下载

2008-02-29

Ext 带多选的Tree

Ext 带多选框的Tree

2008-02-29

PowerDesigner数据库建模技术

PowerDesigner数据库建模技术

2008-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除