由于没有《Enjoying web development with tapestry 4.1》的文档,只能按照4.0里面的内容去测试。
对应书上例子:304页-311页。
Home.html:
xml 代码
- <html>
- <body jwcid="@Body">
-
-
- <form jwcid="@Form" action="http://www.foo.com">
- <input jwcid="deleteButton@Submit" type="submit" value="Delete"/>
- <span jwcid="insertConfirmScript"/>
- form>
-
- body>
- html>
Home.page:
xml 代码
- <!---->xml version="1.0"?>
-
- <!---->
- "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
- "http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
-
- <page-specification>
- <component id="insertConfirmScript" type="Script">
- <binding name="script" value="literal:Confirm.script"/>
- <binding name="msg" value="literal:Are you sure?"/>
- <binding name="button" value="components.deleteButton"/>
- component>
-
- page-specification>
Confirm.script:
xml 代码
- <!---->xml version="1.0" encoding="gb2312"?>
- <!---->
- "-//Apache Software Foundation//Tapestry Script Specification 3.0//EN"
- "http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd">
- <script>
- <input-symbol key="msg" required="yes"/>
- <input-symbol key="button" required="yes"/>
- <let key="funcName" unique="yes">getConfirmationlet>
- <body>
- function ${funcName}(){
- return confirm("${msg}");
- }
- body>
- <initialization>
- document.${button.form.name}.${button.name}.onclick=${funcName};
- initialization>
- script>
-
运行后的源码:
xml 代码
- <html>
-
- <body id="Body">
- <script type="text/javascript"><!---->
- function getConfirmation(){
- return confirm("Are you sure?");
- }
- // -->script>
-
-
- <form method="post" action="/ConfirmDelete/app" id="Form">
- <div style="display:none;" id="Formhidden"><input type="hidden" name="formids" value="deleteButton" />
- <input type="hidden" name="component" value="$Form" />
- <input type="hidden" name="page" value="Home" />
- <input type="hidden" name="service" value="direct" />
- <input type="hidden" name="submitmode" value="" />
- <input type="hidden" name="submitname" value="" />
- div>
- <input type="submit" name="deleteButton" id="deleteButton" value="Delete" />
-
- form>
-
- <script type="text/javascript"><!---->
- dojo.addOnLoad(function(e) {
- dojo.require("tapestry.form");tapestry.form.registerForm("Form");
- document.Form.deleteButton.onclick=getConfirmation;
- tapestry.form.focusField('deleteButton');});
- // -->script>body>
- html>
在IE中运行提示script错误:
java 代码
- 行:24
- 字符:1
- 代码:0
- 错误:'dojo' 未定义
- 网址:http:
和文档中的例子产生的页面代码不一致的地方在于最后几行。
文档中:
xml 代码
- <script language="JavaScript" type="text/javascript"><!---->
-
- var $Form_events = new FormEventManager(document.$Form);
-
- document.$Form.deleteButton.onclick=getConfirmation;
-
- focus(document.$Form.deleteButton);
-
- // -->script>
中间还有一些差别,先不管了!
运行后,点击按纽没有任何反应。
请问各位大大,4.1.2中使用script还需要哪一些配置?(动态绑定组件事件时才会出错,事先传入组件名不会出错!)
知道的请告诉我,再次谢过了!
分享到:
相关推荐
【Tapestry4.1.2 入门-介绍】 Tapestry 是一个基于Java的Web应用程序框架,它提供了一种面向组件的开发方式,极大地简化了Web应用的构建过程。在Tapestry中,开发者无需关注HTTP请求的处理细节,如链接、请求流向和...
在开始使用Tapestry 4.1.2之前,首先需要进行必要的环境配置。这包括将Tapestry提供的jar包拷贝到项目的WEB-INF/lib目录下,并确保移除重复的库(如commons-logging.jar、javassist.jar和ognl-2.6.11.jar)。然后,...
### Apache Tapestry5 使用教程详解 #### 一、Apache Tapestry 概述 Apache Tapestry 是一款使用 Java 语言创建 Web 应用程序的面向组件的开发框架。它通过组件化的方法来构建网页,提供了丰富的功能,包括输入...
它们将帮助初学者理解Tapestry的基本概念、组件使用、事件处理等方面的知识。 总的来说,Tapestry 4是一个强大且灵活的Web开发框架,通过其组件化、声明式编程和事件驱动的特性,能有效提高开发效率,同时保持代码...
本教程将帮助初学者了解Tapestry的基本概念,带你逐步入门并掌握其核心组件的使用。 首先,让我们深入理解Tapestry的核心理念。Tapestry的目标是通过提高开发效率、简化代码结构和增强可维护性来改善Java Web应用的...
3. **错误处理和调试**:Tapestry 3提供了一套强大的错误处理机制,包括详细的错误报告和调试工具,帮助开发者快速定位和解决问题。 **四、使用Tapestry 3的所有jar包** 压缩包中的“tapestry3”包含了运行...
Tapestry 是一个开源的基于 servlet 的应用程序框架,它使用组件对象模型来创建动态的、交互的 web 应用。 Tapestry 使得 Java 代码与 HTML 完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易...
3. **Tapestry Hibernate**: 这个库提供了与Hibernate ORM框架的集成,允许开发者方便地在Tapestry应用中使用Hibernate进行数据持久化操作。通过源码,我们可以学习如何在Tapestry中配置和使用Hibernate服务。 4. *...
Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...
### Tapestry5 使用文档知识点详解 #### 一、项目架构 **Tapestry5 的项目架构** 是理解其工作原理的基础。以下是对架构各部分的详细介绍: 1. **src项目类文件** - `com.xyst.base` 基类文件: - **...
1)解决了Tapestry5.3.8中文Bug问题 2)Tapestry 各种核心组件的使用 3)自带验证,自定义验证,验证码的生成 4)Tree组件的使用,Grid的各种使用(修改样式,排序,隔行换色等等),Loop组件的使用 5)集合Spring...
Tapestry4与Hivemind的结合,虽然在最初可能会引发一些争议,尤其是对于那些习惯于Spring框架的开发者,但深入理解和使用后,你会发现Hivemind在依赖注入(IoC)和控制反转(DI)方面提供了简洁的解决方案。...
8. **tapestry-hibernate-NOTICE.txt, tapestry-hibernate-core-NOTICE.txt, tapestry-ioc-NOTICE.txt**:与对应的LICENSE文件类似,这些NOTICE文件列出了在Tapestry的这些特定模块中使用到的第三方组件和它们的版权...
此外,Tapestry 提供详细的异常报告,有助于快速定位和解决问题。 在Tapestry 5 中,开发者可以通过创建CRUD(创建、读取、更新、删除)功能的应用来了解框架的核心概念。这包括页面导航、依赖注入和资源注入、用户...
10. **错误处理与调试**:Tapestry的错误处理机制可以帮助开发者快速定位问题,提供详细的错误报告和堆栈跟踪。此外,其开发模式下的实时反馈功能让调试变得更加高效。 11. **性能优化**:Tapestry通过缓存策略、...
在性能优化方面,Tapestry 4.0 使用了页面缓存和组件缓存策略,减少了服务器的负载,提升了应用的响应速度。此外,它的请求处理机制也进行了优化,使得请求的处理更加高效。 总的来说,Tapestry 4.0 是一个强大且...
Tapestry是一个基于控件的框架以致于用它开发Web应用类似开发传统的GUI应用。你用Tapestry开发Web应用时你无需关注以操作为中心的(Operation-centric) Servlet API.引用Tapestry网站上的一句话:"Tapestry用对象...
**安装与使用Tapestry Spindle插件** 下载Tapestry Spindle插件后,通常会包含以下文件: 1. `index.html` - 插件的主页面,介绍插件信息和安装指南。 2. `SpindleMasthead.jpg` - 插件的图标或者logo,用于UI展示...