了解 Apache Click:使用轻量模型快速编写 Web 应用程序,避免使用复杂的框架
2010-05-10 00:00:00 来源:WEB开发网这个类通过覆盖 Page 基类的 onInit() 方法设置页面上显示的值。应该检查通过 addModel() 方法添加到模块中的任意值是否为 null — 如果试图添加 null 值,它会抛出 IllegalArgumentException。这要求您编写出在值为 null 时以适当方式显示页面的代码。
通过一个公共的 getter 方法 setName() 公开 SayHelloPage 类中的 name 字段。InputPage 中的 onSubmitClick() 事件处理方法在获得页面的新实例之后调用这个 accessor 方法。
“No path configured...” 错误
在我初次运行代码时,从 ClickServlet 产生了一个错误,错误消息是 “No path configured for Page class: com.example.myfirstclick.pages.SayHelloPage”。原因在于我把 SayHelloPage.class 传递给 createPage(),但是没有在 click.xml 中配置这个页面。把它改为 /sayHello.html 就恢复正常了。这是因为在默认情况下 Apache Click 映射扩展名为 .jsp 和 .htm 的文件,而我选用 .html 作为扩展名。
onSubmitClick() 方法使用来自 nameField 控件的值 (nameField.getValue()) 设置名称。然后使用 setForward() 方法转移到下一个页面。结果是 SayHelloPage 上的 name 字段被填入输入框中的值并把它放在 $name 中。
现在添加 HTML 文件 sayHello.html,它包含 $name 变量。sayHello.html 的内容见清单 10。
清单 10. sayHello.html 页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Results</title>
</head>
<body>
<p>Hello, $name!</p>
</body>
</html>
在 Web 浏览器中访问 http://localhost:8080/MyFirstClick/input.html 以运行这个示例。在文本框中输入一个值并单击 Submit。现在浏览器中会显示这个值。
结束语
通过使用 Apache Click,可以用轻量模型快速编写 Web 应用程序,不需要使用复杂的框架。Apache Click 的简单性让我们能够使用自己的面向对象编程实践和模式。默认的模板引擎 Velocity 不需要定制的标记,让 HTML 代码更接近 HTML 规范的要求。
Apache Click 中的组件和事件模型提供了一种构建 HTML 控件和处理事件的方法,非常容易掌握。
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››了解Windows Mobile文件结构
- ››Apache HTTPServer2.2.16 发布
- ››Apache Tomcat 6.0.29 (稳定版)
- ››Apache HTTP Server 2.3.6 alpha 发布
- ››了解 IBM Smart Business Development and Test o...
- ››Apache+Subversion如何实现版本控制
- ››Apache+Subversion完美结合
更多精彩
赞助商链接