8535.com-新浦京娱乐场官网|欢迎您

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

来源:http://www.dnamique.com 作者:计算机网络 人气:189 发布时间:2019-10-07
摘要:java Tapestry4.1.2入门表达教程第一半页,javatapestry4.1.2 简短介绍 毋庸关怀链接!不必关切须求(http request)到了哪个地方!不必关注响应(httpresponse)要转账哪里!Tapestry营造于底层的request-

java Tapestry4.1.2入门表达教程第一半页,javatapestry4.1.2

简短介绍
毋庸关怀链接!不必关切须求(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中添加:
复制代码 代码如下:
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/app</url-pattern>
</servlet-mapping>

那是Tapestry的中控器。Tapestry页面包车型大巴体现,全数的呼吁,都会被发送到这几个Servlet上。
实例1:最简便的Tapestry程序
在WebRoot下添加Home.html 
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
第一个Tapestry程序
</body>
</html>

并拜望网站:
path]/app
结果页面展现Home.html里面包车型地铁内容。
这是因为Tapestry总是会富含一个名字叫”Home”的页面,暗许意况下正是根路径下的Home.html
实例2:增加简单的动态内容
Home.html改为: 
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
第一个Tapestry程序
于今光阴是:<span jwcid="@Insert" value="ognl:new java.util.Date()"> </span>
</body>
</html>

双重访问网站: path]/app
在这几个页面上,用到了Tapestry的Insert组件(Component)。它带贰个参数,通过八个ognl表明式来传递。
在应用服务器的开发银行参数中丰硕:-Dorg.apache.tapestry.disable-caching=true,能够幸免每趟修改页面模板的时候重启服务器。
jwc = Java Web Component
实例3:创造链接,指向某些页面
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
第一个Tapestry程序
今昔光阴是:<span jwcid="@Insert" value="ognl:new java.util.Date()"></span>
<p>
<a href="#" jwcid="@PageLink" page="Home">刷新</a>
</body>
</html>

此次,通过三个PageLink组件,指向Home页面,PageLink组件会活动发出指向Home页面包车型大巴链接(大家无需关切那几个链接!)。
实例4:轻巧的计数器
直到未来截止,大家还并未关系到java类,可是已经让Tapestry成功运转起来了!该是写点java代码的时候了。大家想要创造贰个计数器,每当客商点击“计数器增1”的时候,大家将以此计数器加1,然后在页面上海展览中心示出那些结果。
在理念的乞请-响应情势中,大家本着那几个问题,须求挂念的是:递交八个呼吁,成立相应的Action来接收那个央浼,并保险计数器的值,然后决定成功中间转播的页面,将结果显示在页面上。
在Tapestry中,大家须要思虑的是:在哪个页面管理那一个事件,结果什么呈以后页面上?
下面是Home.html
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
第一个Tapestry程序
到现在时刻是:<span jwcid="@Insert" value="ognl:new java.util.Date()"></span>
<p>
<a href="#" jwcid="@PageLink" page="Home">刷新</a>
<p>
计数器当前的值是:<span jwcid="@Insert" value="ognl:counter"></span>
<a href="#" jwcid="@DirectLink" listener="listener:doClick">计数器增1</a>
</body>
</html>

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 
复制代码 代码如下:
<?xml version="1.0"?>
<!DOCTYPE application PUBLIC
"-//Apache Software Foundation//Tapestry Specification 4.0//EN"
";
<application>
<meta key="org.apache.tapestry.page-class-packages" value="com.bjsxt.crm.web.tapestry.test"/>
</application>

计划的显要目标是让Tapestry了然怎么关联页面和页面类。
实例5:带二个参数的计数器
Home.html改为: 
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
第一个Tapestry程序
近来时光是:<span jwcid="@Insert" value="ognl:new java.util.Date()"></span>
<p>
<a href="#" jwcid="@PageLink" page="Home">刷新</a>
<p>
计数器当前的值是:<span jwcid="@Insert" value="ognl:counter"></span>
<a href="#" jwcid="@DirectLink" listener="listener:doClick" parameters="ognl:1">计数器增1</a> <br>
<a href="#" jwcid="@DirectLink" listener="listener:doClick" parameters="ognl:5">计数器增5</a> <br>
<a href="#" jwcid="@DirectLink" listener="listener:doClick" parameters="ognl:10">计数器增10</a> <br>
<a href="#" jwcid="@DirectLink" listener="listener:clearCounter">清空计数器</a>
</body>
</html>

当前1/2页 12下一页阅读全文

Tapestry4.1.2入门表明教程第59%页,javatapestry4.1.2 简介不必关切链接!不必关怀央求(http request)到了何地!不必关注响应(http response)要...

本文由8535.com-新浦京娱乐场官网|欢迎您发布于计算机网络,转载请注明出处:java Tapestry4.1.2入门说明教程第1/2页,javatapestry4

关键词:

最火资讯