关闭

Apache Click 框架入门

标签: apache框架myeclipsesecuritytomcathtml
3726人阅读 评论(2) 收藏 举报
分类:

简介:

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 => ChangePassword
change_password.htm => ChangePassword
changePassword.htm => ChangePassword
ChangePassword.htm => ChangePassword
在自动匹配中,如果page 类无法找到,Click 将添加Page 后缀个类名(如果这个类名没有Page 后缀)并试图匹配页面模板到
这个修改后的类名。例如:

customer.htm => CustomerPage
change-password.htm => ChangePasswordPage

本示例代码下载地址:

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

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:145775次
    • 积分:1910
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:23篇
    • 译文:0篇
    • 评论:28条
    文章分类
    最新评论