簡介:
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
本示例代碼下載地址: