apache Click框架入門

開發環境:html

jdk:1.6java

IDE:eclipse3.5 wtpweb

Tomcat:6.0apache

click包:click-2.2.0瀏覽器

開始進行入門級HelloWorld程序。tomcat

一、新建web項目click-helloapp

二、導入包click-2.2.0.jar(核心包)、click-extras-2.2.0.jar(擴展包)。eclipse

三、配置web.xml。添加ClickServlet,代碼以下ui

view plaincopy to clipboardprint?
<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>url

</servlet>

目前Click只支持以.htm做爲擴展後綴進行攔截。

四、在web.xml同級目錄下新建Click配置文件click.xml。以下:

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

這裏目前先不用配置任何信息,在後續完善過程在進行配置。

五、如今開始建立頁面類。建立包example.click.hello.page,在該包下建立Java類HelloWorld.代碼以下:

package example.click.hello.page;
import java.util.Date;
import org.apache.click.Page;
@SuppressWarnings("serial")
public class HelloWorld extends Page {
 //聲明一個私有的時間變量。
 private Date time = new Date();
 public HelloWorld() {
  addModel("time", time);//將該時間變量添加到頁面模型map裏
 }
}

六、建立頁面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>Insert title here</title>
</head>
<body>
<h1>HelloWorld--now time : $time</h1>
</body>
</html>

$time 對應HelloWorld.java、addModel("time", time)中的time

七、修改click.xml文件,確保helloWorld.htm能對應到類HelloWorld.java。在<click-app></click-app>中添加代碼

<click-app charset="UTF-8">
 <pages package="example.click.hello.page" />
 <mode value="debug" />
</click-app>

1.<mode value="debug" />聲明後臺日志的模式是什麼,這裏設置爲debug級別。
2.除此以外還有development (開發模式info)、profile (規範輸出模式info)、production (生產模式warn)、trace (跟蹤模式)
3.pages有屬性automapping默認爲true該屬性將決定是否自動映射除WEB-INF下全部page到相應的類。
八、啓動tomcat,在瀏覽器地址中輸入http://localhost:8080/click-demo/helloWorld.htm便可看到效果。

這裏有幾點值得注意的地方。

•若是僅在click.xml中聲明包名讓Click本身去定位( automapping ="true" ) 頁面對應類,則須要注意頁面名稱跟類名之間的關係。 1.對應規則爲:2.change-password.htm  =>  ChangePassword change_password.htm  =>  ChangePassword changePassword.htm   =>  ChangePassword ChangePassword.htm   =>  ChangePassword 3.customer.htm         =>  CustomerPage change-password.htm  =>  ChangePasswordPage 4.除自動映射外能夠強制配置<pages package="example.click.hello.page"><page path="helloWorld.htm" classname="HelloWorld"/></pages>  •若是咱們將頁面helloWorld.htm不直接放在webRoot下,而是放在page/helloWorld.htm下,那麼要想讓Click本身知道對應的類,則咱們須要將click.xml文件修正爲<pages package="example.click.hello"/>。以此類推若是是放在click/hello/page/hellWorld.htm下,則咱們的click.xml文件只須要配置成<pages package="example"/>便可。若是不遵循該規則,則只能在click.xml配置文件中顯示聲明出來。

相關文章
相關標籤/搜索