当前位置:  编程技术>java/j2ee

java Tapestry4.1.2入门说明教程第1/2页

    来源: 互联网  发布时间:2014-10-21

    本文导语:  简单介绍 不必关心链接!不必关心请求(http request)到了哪里!不必关心响应(http response)要转向哪里!Tapestry构建于底层的request-resonse模式,基于Servlet技术,抽象出面向组件开发的模型。Tapestry关心的是:页面、组件、事件、对...

简单介绍
不必关心链接!不必关心请求(http request)到了哪里!不必关心响应(http response)要转向哪里!Tapestry构建于底层的request-resonse模式,基于Servlet技术,抽象出面向组件开发的模型。Tapestry关心的是:页面、组件、事件、对象、方法、属性!
安装jar包
1、
将Tapestry解压目录下的lib目录中的jar包拷贝到WEB-INF/lib目录。
并将重复的包删除(commons-logging.jar/javassist.jar/ognl-2.6.11.jar)
2、
在web.xml中添加:
代码如下:


app
org.apache.tapestry.ApplicationServlet
0


app
/app


这是Tapestry的中央控制器。Tapestry页面的显示,所有的请求,都会被发送到这个Servlet上。
实例1:最简单的Tapestry程序
在WebRoot下添加Home.html 
代码如下:





Insert title here


第一个Tapestry程序



并访问网址:
http://localhost:8088/[context path]/app
结果页面显示Home.html里面的内容。
这是因为Tapestry总是会包含一个名字叫”Home”的页面,默认情况下就是根路径下的Home.html
实例2:添加简单的动态内容
Home.html改为: 
代码如下:





Insert title here


第一个Tapestry程序
现在时间是:



重新访问网址:http://localhost:8088/[context path]/app
在这个页面上,用到了Tapestry的Insert组件(Component)。它带一个参数,通过一个ognl表达式来传递。
在应用服务器的启动参数中添加:-Dorg.apache.tapestry.disable-caching=true,可以避免每次修改页面模板的时候重启服务器。
jwc = Java Web Component
实例3:创建链接,指向某个页面
代码如下:





Insert title here


第一个Tapestry程序
现在时间是:


刷新



这次,通过一个PageLink组件,指向Home页面,PageLink组件会自动产生指向Home页面的链接(我们不必关心这个链接!)。
实例4:简单的计数器
直到现在为止,我们还没有涉及到java类,但是已经让Tapestry成功运行起来了!该是写点java代码的时候了。我们想要创建一个计数器,每当用户点击“计数器增1”的时候,我们将这个计数器加1,然后在页面上显示出这个结果。
在传统的请求-响应模式中,我们针对这个问题,需要考虑的是:递交一个请求,创建相应的Action来接收这个请求,并维护计数器的值,然后决定成功转向的页面,将结果显示在页面上。
在Tapestry中,我们需要考虑的是:在哪个页面处理这个事件,结果如何显示在页面上?
下面是Home.html
代码如下:





Insert title here


第一个Tapestry程序
现在时间是:


刷新


计数器当前的值是:
计数器增1



DirectLink指定的listener为:doClick,这将触发一个事件,实际上就是将要调用doClick()方法。
doClick()方法将要写在哪里?因为现在的页面,其动态数据无法简单获得,所以,必须给当前页面创建一个对应的类,我们的方法将创建在这个类里面。
代码如下:

package com.bjsxt.crm.web.tapestry.test;
import org.apache.tapestry.annotations.Persist;
import org.apache.tapestry.html.BasePage;
public abstract class Home extends BasePage {
@Persist
public abstract int getCounter();
public abstract void setCounter(int count);
public void doClick(){
int counter = getCounter();
counter = counter + 1;
setCounter(counter);
}
}

注意:在这个例子中,类名需定义为Home;listener的名字为doClick,而不是doClick()
另外,需要在web-inf目录下添加配置文件:app.application 
代码如下:







配置的主要目的是让Tapestry了解如何关联页面和页面类。
实例5:带一个参数的计数器
Home.html改为: 
代码如下:





Insert title here


第一个Tapestry程序
现在时间是:


刷新


计数器当前的值是:
计数器增1

计数器增5

计数器增10

清空计数器




    
 
 

您可能感兴趣的文章:

  • 请问:java 入门以及学好Java要看哪些书籍阿????
  • 谢谢推荐几本关于JAVA入门好书?
  • JAVA 怎么入门?
  • 请推荐几本java的入门和提高书籍.
  • 大家觉得java.sun.com上的Java Tutorial写的如何?我觉得是最好的入门教材
  • 请大家介绍一下java BEAN的入门读物吧
  • 谁能告诉我JAVA怎样快速的入门?
  • 请问JAVA怎么入门?
  • 介绍一本真正好的java入门到提高的书吧!!!
  • JAVA入门者问题!
  • 哪位仁兄能给小弟推荐基本java的入门好书
  • 那里有Java的入门书下栽?
  • Java入门
  • 最入门级的java问题,如何运行HelloWorld.java
  • 请帮忙介绍一本java入门的书, 给分啦!
  • 请问大家入门JAVA比较好的书是?谢了
  • 给哥们介绍一个JAVA入门的好教材吧:)
  • 各位老兄,我刚入门怎么样才能学好JAVA呢?
  • 小弟想转学java 希望大家推荐基本入门的书籍,最好是可以下载的,谢谢!
  • 请大家介绍一本Java入门的好书
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • elasticsearch RESTful项目举例说明: java jest
  • 哪里可以下载到JAVA类库呀,最后有中文说明?
  • java的语法说明
  • java 2 基础类,哪里有完整的说明?
  • 求Java Servlet API说明文档!
  • 关于java编译过程中的bug说明
  • 高分求java.sql类库的类说明,函数及方法!
  • 关于java编译过程中的bug说明 iis7站长之家
  • java.lang.ClassCastException 这个是什么异常,能具体说明吗?
  • 基于java math API 的详细解释说明
  • java Collection 之Set使用说明
  • 基于java枚举类综合应用的说明
  • 奇怪,Java中如何判别一个没有明确说明会抛出异常的函数到底会不会抛出异常
  • Java程序生成exe可执行文件详细教程(图文说明)
  • 初等问题:我刚安装上Java,却找不到Javac,按说明我去修改autoexec.bat,但是,我的autoexec.bat文件是空的.请问autoexec.bat文件的标准格式
  • 解析Java和Eclipse中加载本地库(.dll文件)的详细说明
  • Java缩略图生成库之Thumbnailator应用说明
  • java集合框架的体系结构详细说明
  • 谁能给我一个Java读取XML的例子,最好有注释和说明,小弟想了解JSP和XML结合编程的一些东西,找不下资料?
  • 请教:不靠库函数来分配和释放内存,JAVA可以自动的对内存进行管理。能详细说明吗?
  • Java 正则表达式 解释说明
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3