tapestry

Tapestry 教程(二)依赖、工具以及插件

让人想犯罪 __ 提交于 2019-12-04 06:26:09
在我们深入代码之前,首先必须整好开发环境。你应该已经有了一些,或者因为各种原因,在你的开发机上全都已经有了。 JDK1.5 或者更新的版本 Tapestry 需要 Java 开发套件( JDK ) 1.5 的版本或者更高的版本,此外,从 Tapestry5.4 开始你就必须使用 JDK1.6 或者比 1.6 更新的版本了。 JDK1.8 只能用于 Tapestry5.3.8 或者更新版本上(见 发布事项 )。 Eclipse IDE 本教程假定你使用的是 Eclipse 作为你的集成开发环境( IDE )。 Eclipse 是一个流行的 IDE ,不过你也将教程里面的东西适配到其它的 IDE ,比如 IntelliJ , NetBeans 等等。 Eclipse 有不同的风格,还包括了一个合适的内置 XML 编辑器。它可以从 eclipse.org 网站上下载到 。我们的建议是使用最新的版本(不过 version3.7 及以后的任何版本都能工作的很好)。 Apache Maven 3 Maven 是一个软件构建工具,能够自动地从几个中心资源库那里下载到项目的依赖(比如 Tapestry 的 JAR 包文件,还有 Tapestry 本身所要依赖的 JAR 包文件)。 Maven 对于 Tapestry 的使用而言并不是关键,不过在执行 Tapestry

Tapestry 教程(六)使用BeanEditForm来创建用户表单

a 夏天 提交于 2019-12-04 06:25:59
在前面一章,我们看到了 Tapestry 如何处理简单地链接,甚至于处理能在 URL 中传递信息的链接。在本章,我们将会看到 Tapestry 如何以不同的方式做同样的事情,以及相当多其它的事情,如 HTML 表单。 Tapestry 中的表单支持深入而且丰富,以至于一个单独章节的内容还装不下。不过,我们可以展示一些基础的,包括一些非常普遍的开发模式。开始我们先来创建一个简单的地址簿应用程序。 先从实体数据着手,这是一个我们需要的用来存储信息的简单对象。这些类被放在 entities 子包下面。不同于 pages 子包(放 component 类的)的用法,这个子包并不受 Tapestry 的管束;只是一种约定(不过如我们很快就会发现的,这是比较方便的一个约定)而已。 Tapestry 将公共的属性域当做是 JavaBean 的属性;因为 Address 对象只是一些“呆数据 dumb data ”,所以没有必要费力去写什么 getter 和 setter 。而是完全把他们定义成 public 的属性域。 src/main/java/com/example/tutorial/entities/Address.java package com.example.tutorial1.entities; import com.example.tutorial1.data.Honorific

Tapestry 教程(一)

假装没事ソ 提交于 2019-12-04 06:25:49
介绍 欢迎来到 Tapestry 的世界! 这篇教程帮助人们来创建基于 Tapestry 的 web 应用程序。你是否有过使用 Tapestry 早期版本或者其它 web 框架的经历,这一点并不重要。事实上,从某些立场来看,对于一般的 web 开发了解的越少,你就能学得更好……因为那样你要忘掉的就不太多啦! 你确实对 HTML 有着较好的理解,对 XML 也一知半解,对于基础的 Java 语言特性,包括注解( Annotation )也有一个较好的了解。 Web 开发的挑战 如果你曾经用 servlet 和 JSP ,或者利用 Struts 来开发过 web 应用程序,那你应该已经很容易感到有许多的麻烦。如此多的麻烦,你甚至可能没有理解你所在的可怕处境!这里都是些没有安全网络的环境; Struts 和 Servlet API 并不能告诉你应用程序怎么构建法,或者如何把不同的块组合到一起。任何 URL 都可以是一个 action ,而任何 action 都可以被指向任何视图,(使用一个 JSP )来向网页浏览器提供一个 HTML 的响应。麻烦就是你作为一个开发者需要作出的许多细小琐碎,可是又很重要的决定,(还的就这些问题同你团队的其它成员扯来扯去)。对于 action 、 page 以及存储在 HttpSession 或者 HttpServletRequest 中的

第十三讲:tapestry form组件

怎甘沉沦 提交于 2019-12-03 03:46:59
form组件,源码如下: Forms1.java /** * 项目名称:TapestryStart * 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql * 网址: http://www.flywind.org * 版本:1.0 * 编写:飞风 * 时间:2012-02-29 */ package com.tapestry.app.pages; import org.apache.tapestry5.annotations.Component; import org.apache.tapestry5.annotations.InjectPage; import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.corelib.components.Form; import org.apache.tapestry5.corelib.components.TextField; public class Forms1 { @Property private String firstName; @Property private String lastName; @Component(id="myForm") private Form form;

第十四讲:tapestry form验证

断了今生、忘了曾经 提交于 2019-12-03 03:46:45
tapestry提供了表单验证,大大简化了我们手工编写验证代码的麻烦。常用验证有:required(必须的)、email(邮箱验证)、maxLength(最大字符数)、minLength(最小字符数)、max(最大值)、min(最小值)、regexp(正则表达式)。奇怪的是5.3.1验证有bug,5.3.2已经修复了....源码如下: Validators1.java /** * 项目名称:TapestryStart * 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql * 网址: http://www.flywind.org * 版本:1.0 * 编写:飞风 * 时间:2012-02-29 */ package com.tapestry.app.pages; import org.apache.tapestry5.annotations.InjectPage; import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.beaneditor.Validate; public class Validators1 { @Property @Validate("required") private String firstName;

第六讲:tapestry输出方式

∥☆過路亽.° 提交于 2019-12-03 03:46:33
tapestry输出常用的有:通过get方法输出、通过output输出、通过setupRender()输出、通过outputraw输出。源码如下: OutPut.java /** * 项目名称:TapestryStart * 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql * 网址: http://www.flywind.org * 版本:1.0 * 编写:飞风 * 时间:2012-02-29 */ package com.tapestry.app.pages.output; import java.text.Format; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.tapestry5.annotations.Property; public class OutPut { private Date outOne; //通过get方法在页面上读出当前时间 public Date getOutOne(){ return new Date(); } //通过output转换时间输出格式 public Format getDateFormat(){ return new SimpleDateFormat("yyyy-MM-dd HH

第二十七讲:tapestry与javaScript

邮差的信 提交于 2019-12-03 03:46:22
tapestry的js库基于prototype,写法非常简单。这个实例JS实现了当输入单字符时显示绿色、双字符时显示红色。代码如下: JavaScript.java /** * 项目名称:TapestryStart * 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql * 网址: http://www.flywind.org * 版本:1.0 * 编写:飞风 * 时间:2012-02-29 */ package com.tapestry.app.pages; import org.apache.tapestry5.annotations.Import; import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.services.javascript.JavaScriptSupport; @Import(library="context:assets/js/JavaScript.js") public class JavaScript { @Property @SuppressWarnings("unused") private

第三十讲:tapestry强大的javaScript混合(mixins)

点点圈 提交于 2019-12-03 03:45:59
此例还是使用上一篇的实例JS,看混合的方法,实在是太强大了!! JavaScriptMixin.java /** * 项目名称:TapestryStart * 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql * 网址: http://www.flywind.org * 版本:1.0 * 编写:飞风 * 时间:2012-02-29 */ package com.tapestry.app.pages; import org.apache.tapestry5.annotations.Property; public class JavaScriptMixin { @Property @SuppressWarnings("unused") private String firstName; @Property @SuppressWarnings("unused") private String lastName; } JavaScriptMixin.tml <html t:type="layout" title="tapestryStart Index" t:sidebarTitle="Framework Version" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"

Tapestry: character encoding issue

落花浮王杯 提交于 2019-12-01 21:49:24
I have a Tapestry application, that retrieves data from a form, writes it to a database and then displays the result. It all works well as long as no special characters (Ä, Ö, Ü, ß, € ...) are used. E.g. the text TestäöüßÄÖÜ€$ will result in TestäöüÃÃÃÃâ¬$ I guess the problem has something to do with a wrong character encoding setting. Tapestry java class: @Component(parameters = {"clientValidation=false"}) private Form form; @Component(parameters = {"value=someDTO.name"}) private TextField someNameField; Tapestry Template: <t:form t:id="form"> ... <t:textfield t:id="someNameField"/> ... <

第一讲:hello tapestry

廉价感情. 提交于 2019-12-01 19:17:51
tapestry具体的介绍,大家可以去官网 http://tapestry.apache.org/ 了解,apache的强大大家也有目共睹。 tapestry使用了组件开发模式,很大的提高了工作效率,速度也很快,特别的5.3之后版本,官方文档也很齐全可惜是全英文,英文不好的很是头疼,版本升级超级容易等等好处实在是很多啊!有兴趣的可去官网了解,编写这个教程是为了给初学着,或者没有学过程序开发又想从事程序开发的童鞋有很大的参考价值。 个人简单介绍下,我并非专业计算机出身而是广美毕业,毕业后一直从事IT行业,之前在小公司写过几年的PHP,有同类经验的童鞋都知道,在小公司你会多东西越多,老板越赏识加上个人对程序开发有很大兴趣,对java也是第一次写,所以有写错的地方请大家指正、也很乐意与各位前辈交流学习、希望tapestry在国内能早日像他的兄弟框架struts那么流行。本编系列教程初定为tapestryStart,为了能正确运行案例,需要的可以 下载tapestryStart源码 仅供参考。安装方法请看 eclipse导入tapestry创建的项目与运行 。 言归正传,tapestry分开发模式与产品模式(生产模式)两类,我们开发的时候使用开发模式,打包部署的时候使用产品模式。却换非常简单,只要简单设置就行了。本系列教程开发模式:tapestryX+tapestry-hibernate