Apache Click學習(一)HelloWorld

       最近由於項目調整接手了個維護項目,仔細一看比較崩潰。一是由於項目維護人員很少,二是系統使用的技術比較舊,使用傳統的Servlet+JSP開發,而且Sevlet代碼中充斥着大段的PrintOut出來的Jsp代碼,JSP代碼中同樣充斥着大量的JAVA代碼。如果有新的需求變更,修改起來代價很大。

       恰好這幾天整理個人電腦時發現當時第一次參加工作時的項目源碼,當時的公司採用了SpringMVC+Click+Cayenne整合了一套開發框架,當時開發的時候並沒有花心思去仔細瞭解;現在想來當時Click是比較流行的時候,現在閒來無事,花點時間整理一下,權當是一種休閒娛樂吧!

閒話少說,下面就使用Click開發一個最簡單的Web應用。

(一)準備工作

  1. 從Apache官網上下載click-2.3.0.zip,解壓到本地磁盤;
  2. 使用Eclipse創建Web應用click-sample,將click-2.3.0中dist中的click-2.3.0.jar和click-extras-2.3.0.jar導入到Web-INF中的lib裏;

(二)代碼編寫

 1,新建HelloWorldPage.java,繼承至org.apache.click.Page;  把message變量添加到頁面模型的“message”中。Click 會確保所有添加到頁面模型中的對象都在頁面模版中可用。 

  1. package com.jonny.click.sample.page;
  2. import org.apache.click.Page;
  3. public class HelloWorldPage extends Page{
  4. private static final long serialVersionUID = -3770478730293725405L;
  5. private String message = "HelloWorld";
  6. public HelloWorldPage() {
  7. addModel("message", message);
  8. }
  9. }

 2, 在WebContent下新建hello-world.htm,使用$message來獲取頁面的message變量;

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
  5. <title>HelloWorld</title> 
  6. </head> 
  7. <body> 
  8.     $message  
  9. </body> 
  10. </html> 

 3,修改WEB-INF下的web.xml文件;另外新增click.xml;

web.xml

所有Click 頁面模板必須用.htm 擴展名,並且,ClickServlet 應該匹配來處理所有*.htm 的URL 請求。

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  3.     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
  5.     id="WebApp_ID" version="2.5"> 
  6.     <display-name>click-sample</display-name> 
  7.     <welcome-file-list> 
  8.         <welcome-file>hello-world.htm</welcome-file> 
  9.     </welcome-file-list> 
  10.     <servlet> 
  11.         <servlet-name>ClickServlet</servlet-name> 
  12.         <servlet-class>org.apache.click.ClickServlet</servlet-class> 
  13.         <load-on-startup>0</load-on-startup> 
  14.     </servlet> 
  15.     <servlet-mapping> 
  16.         <servlet-name>ClickServlet</servlet-name> 
  17.         <url-pattern>*.htm</url-pattern> 
  18.     </servlet-mapping> 
  19. </web-app> 

click.xml

Click會智能地識別HelloWorldPage來對應到模版hello-world.htm。我們只需要配置Page類所在的包就可以了。

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
  2. <click-app charset="UTF-8"> 
  3.  
  4.   <pages package="com.jonny.click.sample.page"/> 
  5.  
  6.   <mode value="profile"/>   
  7.  
  8. </click-app> 

4,啓動Web應用,訪問hello-world.htm,就會看到HelloWorld幾個大字了。

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