03 2013 档案

摘要:由于Tapestry5的提交方式比较特殊,就是所谓的PRG(POST/REDIRECT/GET),所以在参数的传递上也会有些不同。据说一共有五种方法:1 By Activation Context:通过上下文。就是在一个页面中注入另外一个页面(@InjectPage),被注入的页面中有public的设定参数方法。在传入页面的java类中,需要有onPassivate和onActivate方法。其作用已经介绍过了。这种传值方式,会被传入页面处理,然后就和eventLink和actionLink一样了。提交到传入页面的时候,URL的样式像这样:http://hostname:portNumber/ 阅读全文
posted @ 2013-03-28 21:56 VoctrALs 阅读(228) 评论(0) 推荐(0) 编辑
摘要:这是一篇相对来说更加杂乱的文章了。基于最近的一个项目,把一些碰到的问题记下来。1 t:Output和t:OutputRaw他俩长得很像,但是差别不小。Output是一个至少要有两个参数的Component,分别为:value和format。Format就是java.text.Format。可以有两种方式来设定a,在页面中,如:format="literal:yyyy-MM-dd";b,在java类中声明,如:@Propertyprivate Format someFormat = new SimpleDateFormat("yyyy-MM-dd");tm 阅读全文
posted @ 2013-03-28 20:53 VoctrALs 阅读(359) 评论(0) 推荐(0) 编辑
摘要:首先说明一下,并不是每一个Tapestry项目的ApplicationModule都是AppModule,而是与这个工程的总的filter决定的。 <filter> <filter-name>app</filter-name> <filter-class>org.apache.tapestry5.TapestryFilter</filter-class> </filter> <filter-mapping> <filter-name>app</filter-name> <url-p 阅读全文
posted @ 2013-03-27 22:22 VoctrALs 阅读(387) 评论(0) 推荐(0) 编辑
摘要:SSO Session State ObjectSSOs are shared between the pages of your web session only, and not with other sessions using the same application.SSO被你自己的一个web session所共享,不会被其他人的web session所影响。To turn a field into an SSO, annotate it with @SessionState. If any other page or component in your web session de 阅读全文
posted @ 2013-03-26 16:25 VoctrALs 阅读(213) 评论(0) 推荐(0) 编辑
摘要:Base class methods before sub-class methods.Matching methods within a class in alphabetical order.For a single method name with multiple overrides, by number of parameters, descending.真真的比较有意思:1 首先走父类的方法,然后再走自己的方法;2 在一个类里面有多个方法满足的话,按照字母顺序;奇葩啊!3 如果方法被重载了或是什么的,就会按照参数个数的降序来执行。果真奇葩!但是话又说回来了,没有那个人会考虑这些东西 阅读全文
posted @ 2013-03-26 09:42 VoctrALs 阅读(148) 评论(0) 推荐(0) 编辑
摘要:在JumpStart中有相关的介绍,总结一下void - redisplay the same page. null - redisplay the same page. false - same as returning null.这三个一样,应该没有什么区别。 Class (must be a page class) - go to new page. String (must be a logical page name) - go to new page.这俩,基本相同(“PageA”, PageA.java)。 page object - go to new page, w... 阅读全文
posted @ 2013-03-25 16:55 VoctrALs 阅读(266) 评论(0) 推荐(0) 编辑
摘要:T5有三种类型的事件,分别是EventLink,ActionLink,Form。并且前两种是通过HTTP GET从服务器获得信息的,最后一种是通过HTTP POST获得信息的。还有一点儿很重要的就是EventLink和ActionLink从服务器端获得想要的信息的方式是:GET/REDIRECT/GET。FORM的方式是:POST/REDIRECT/GET。至于两种方式的优势,大家可以在网上找到,按照我自己的理解就是,获得到的URL可以保存,并且可以任意刷新,还可以随意的返回(Return)到前一个页面。以上都是写常识。今天无聊做了个实验发现了几个小东西,一一列出来。1 假如我们有一个URL地 阅读全文
posted @ 2013-03-22 16:25 VoctrALs 阅读(670) 评论(0) 推荐(0) 编辑
摘要:但凡想学Tapestry5的都必须要过一关,就是N多的貌似自定义的,但绝对不是的方法。今儿了个,就把自己的理解放到这里,以备不虞。1. onActivate()这个方法比较奇怪,不能通过注解来定义一个任意方法名的方法,所以我们只能记住这个方法名。还有这种方法:@OnEvent(value = EventConstants.ACTIVATE)If your page has an onActivate method then Tapestry will call it when a request from a browser involves your page.如果我们的java类中有一个o 阅读全文
posted @ 2013-03-22 14:53 VoctrALs 阅读(362) 评论(0) 推荐(0) 编辑
摘要:以前的项目告诉我,pageLink是一个特别简单的好用的页面跳转用到的方法。<a t:type="pageLink" page="somePage" href="#">SOME WORDS</a>另外这个东西还可以加一个参数,这个参数可以是任意类型的。<a t:type="pageLink" page="somePage" href="#" context="${someProperty}">SOME WORDS< 阅读全文
posted @ 2013-03-21 21:41 VoctrALs 阅读(256) 评论(0) 推荐(0) 编辑
摘要:不会说的太多,只是简单地记点自己需要的东西。在tml文件中出现<t:layout title="message:page-title"> ${message:greeting}, ${user.name}!</t:layout>${message:}的时候,就会去找app-LO.properties了。这个比较简单。而在java代码中想要引用properties文件中的内容的时候,需要有如下代码:@Injectprivate Messages message;public String getCartSummary() { if (items.isE 阅读全文
posted @ 2013-03-21 16:07 VoctrALs 阅读(193) 评论(0) 推荐(0) 编辑
摘要:至于Asset这个东西之前一点儿也没有在意过。今天稍微看了一点儿。首先这个单词的读音是/'æsɛt/(美音)。意思是资产;优点;有用的东西;有利条件。Tapestry介绍的是: In Tapestry, Assets are any kind of static content that may be downloaded to a client web browser, such as images, style sheets and JavaScript files.在Tapestry里面,Asset是任何可以下载到本地浏览器的东西,例如图片,css文件,javascri 阅读全文
posted @ 2013-03-21 15:20 VoctrALs 阅读(259) 评论(0) 推荐(0) 编辑
摘要:Tapestry5中可以使用css,但是它的方式有些不同。一般情况下,我们把css文件放到WEB-INF文件夹下面,这基本上已经是一个规定了。假如我们把css放到了,WEB-INF下的css文件夹中了,并且文件的名字为stylesheet.css。那么我们可以在template(.tml)文件中,这样引入:<link rel="stylesheet" type="text/css" href="${context:css/stylesheet.css}" />其中的${context}会在render的时候,指定为我们项目 阅读全文
posted @ 2013-03-21 14:58 VoctrALs 阅读(494) 评论(0) 推荐(0) 编辑
摘要:@InjectTapestry5中有好多个有用的注解,今天记录些@Inject相关的东西。Injection is Tapestry's way of making a dependency – such as a resource, asset, component, block or service – available in a page, component, mixin or service class.Injection是Tapestry中定义从属关系的方式 - 例如,resource, asset, component, block or service - 在page 阅读全文
posted @ 2013-03-20 22:58 VoctrALs 阅读(615) 评论(0) 推荐(0) 编辑
摘要:涉及到国际化的时候,错误信息的提示是一个很重要的问题。Tapestry5对国际化的支持很到位(我自己觉得)。configuration.add(SymbolConstants.SUPPORTED_LOCALES, "ja,zh");等等相关的代码。今天不全部列出。但是默认的ErrorMessage的title是固定的。如果我们想要修改的话。需要按照如下步骤实现:1 在JAVA包中添加:org/apache/tapestry5/corelib/components/包;2 在其中建立Errors_ja.properties,Errors_zh.properties,并且把其中 阅读全文
posted @ 2013-03-18 16:20 VoctrALs 阅读(194) 评论(0) 推荐(0) 编辑
摘要:学习过Tapestry5的人都知道,它对AJAX的支持做的比较不错。但是存在一个小问题,对于目前的我来讲是一个问题 :)<t:zone t:id="tableZone" id="tableZone"> <table> <tr> <td><input t:type="textField" id="selectValue" /></td> </tr> <tr> <td><input t:type=" 阅读全文
posted @ 2013-03-15 22:48 VoctrALs 阅读(361) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示