Apache Click 框架入門

簡介:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章