Apache Click 框架入门

来源:互联网 发布:怎么找淘宝客服介入 编辑:程序博客网 时间:2024/05/21 20:30

简介:

Apache Click 是一个先进的Java企业版的Web应用程序框架,提供一个基于浏览器的富客户端编程模型。非常简单和易用,一般的开发人员在一天内就可以上手使用。

基于组件设计的方法,而且进行了优化,从而更加易用。它提供了一个面向页面的设计模式、基于组件与事件的编程模型。Click包括了40多个开盒即用的组件,对应了HTML中主要的元素。这样使得编程很简单了。Click的 Forms与组件提供了自动化的验证和展现,使得FORM的开发快速且健壮。


开发环境:

jdk:1.6

IDE:MyEclipse 3.6

Tomcat:apache-tomcat-6.0.33

click包:click-2.3.0.jar


编写Click HelloWorld步骤:

1、新建web项目click-hello

2、导入包click-2.3.0.jar(核心包)。

3、配置web.xml。添加ClickServlet,代码如下

<servlet><servlet-name>click-servlet</servlet-name><servlet-class>org.apache.click.ClickServlet</servlet-class><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>click-servlet</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping>

4、在web.xml同级目录下新建Click配置文件click.xml。如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><click-app charset="UTF-8"></click-app>

这里暂时不用配置任何信息,在后面会进行配置。


5、现在开始创建页面类。创建包example.click.hello.page,在该包下创建Java类HelloWorld.代码如下:

package org.vic.click.hello;import java.util.Date;import org.apache.click.Page;public class HelloWorld extends Page{    //声明一个私有的时间变量。      private Date time = new Date();        public HelloWorld()    {        //将该时间变量添加到页面模型map里          addModel("time", time);    }}

6、创建页面helloWorld.htm,这里我们将helloWorld.htm直接放在webRoot下。代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>click hello world</title></head><body><h2>Hello World</h2>Hello world from Click at $time</body></html>

$time 对应HelloWorld.java、addModel("time", time)中的time


7、修改click.xml文件,确保helloWorld.htm能对应到类HelloWorld.java。在<click-app></click-app>中添加代码

<click-app charset="UTF-8"><pages package="org.vic.click.hello" /><mode value="debug" /></click-app>
  • <mode value="debug" />声明后台日志的模式是什么,这里设置为debug级别,除此之外还有development(开发模式info)、profile(规范输出模式info)、production(生产模式warn)、trace(跟踪模式)。
  • pages有属性automapping默认为true该属性将决定是否自动映射除WEB-INF下所有page到相应的类。

8、启动tomcat,在浏览器地址中输入http://localhost:8888/click-hello/helloWorld.htm 即可看到效果,如下图所示。

注意:请把8888换成自己Tomcat的端口号。

9、工程结构如下图所示:



注意:automapping 默认为true,所以他可以省略。
如果页面模板放在web 根文件夹的子文件夹内,他关联的page 类必须放在等同命名的相对于基包的子包内,以便page 可以被
自动匹配到。上面的匹配中,页面模板security/change-password.htm 放在web 根的security 文件夹内。为使Click 正确匹配页
面模板到他的page 类, 这个类必须放在基包com.mycorp.page 的子包security 中。绝对的page 类名为
com.mycorp.page.security.ChangePassword 。

如果仅在click.xml中声明包名让Click自己去定位(automapping="true")页面对应类,则需要注意页面名称跟类名之间的关系。

页面模板名称到类名的转换有:

change-password.htm => ChangePasswordchange_password.htm => ChangePasswordchangePassword.htm => ChangePasswordChangePassword.htm => ChangePassword
在自动匹配中,如果page 类无法找到,Click 将添加Page 后缀个类名(如果这个类名没有Page 后缀)并试图匹配页面模板到
这个修改后的类名。例如:

customer.htm => CustomerPagechange-password.htm => ChangePasswordPage

本示例代码下载地址:

http://download.csdn.net/detail/j2eevic/4160561