大約在兩周前,正式開始學習Java了,視頻講座,資料,插件,工具什麼的下了一大堆,還不忘拷貝給同事。因為老楊說過公司可能要應用JSF + Hibernate. 先看了JSF的視頻,覺得真好玩,就先玩起了JSF。不過第一個程序讓它跑起來還真不是那麼容易的。
ok,讓我記錄下這個過程吧。
第一步,創建web工程
J2ee下創建web project,這沒什麼說的了,不過以前在eclipse中總是不知道怎麼創建web應用,夠傻的,原來需要插件,在myeclipse提供了全套的插件。不過Myeclipse需要破解。中國程序員似乎很少用正版的。言歸正傳,Myeclipse中需要在Open Perspective中選擇J2EE enterprse視圖。然後創建web project。這跟delphi的New一個project不太一樣,Delphi把所有可以new的都放在一個窗口中,而eclipse有不同的視圖來提供管理,這算一種進步吧,插件化的進步。接下來需要 Add JSF Capability,因為這個類庫(不知道是否應該稱為類庫)支撐了JSF開發需要的組件。
第二步,創建bean
在New-àother中的Myeclipse-àweb-JSF下有managed bean,創建bean可以連Java類文件一起創建,且可以將需要的屬性一起完成,myeclipse可以自動完成屬性的get,set方法。是個比較酷的功能。
第三步,創建,編輯JSP文件
在工程的webroot-->web-inf下面有一個facesconfig.XML文件,這個文件是Javabean的管理文件,同時它管理了頁面之間的切換關系,起到導航頁面的作用。有趣的是這個文件居然有個漂亮的design界面,可以在上面創建新的JSP文件,且可以用拖拽方式定義頁面之間的關系,讓所有頁面的關系看起來很直觀。感覺這裡是個很酷的設計。頁面的導航是根據一個字符串來作為判斷依據的,所以在配置導航關系時,只要設定From outcome的值為調用bean方法的返回值即可。值得注意的是,JSF對於導航值只允許string類型。
JSP頁面的編寫其實很方便,即使不太懂,因為myeclipse提供了拖拽式的頁面設計,如果熟練直接寫代碼也很好玩吧。我以前一直很討厭Html的代碼,因為覺得太機械了,且不好記憶,這會得硬著頭皮學了,不過在這種拖拽式的設計中可以省不少力氣。記得JSP中使用Java采用”<% %>”的方式,這會是:”#{}” 直接以bean來調用。
第四步,本地化
如果需要考慮國際化的問題,那麼需要創建一個.properties的文件,否則可以跳過這裡。.properties文件需要創建到源碼文件的目錄下,否則在指定位置時便會找不到它。.properties文件的配置非常簡單,如同一個ini文件。如:"username=user name", 如果要顯示中文的話,這裡需要轉化為unicode,jdk帶了一個native2ascii的小工具可以輕松轉換,不過這個玩意每次復制的時候都要先將編輯設為“標記”。不知道有沒有更方便的工具。另外如果要支持中文的.propertIEs文件需要以_zh_CN結尾才行。在JSP文件中使用下面形式定義:
然後就如同Java中的類一樣使用了
不知道為什麼,我的myeclipse中輸入msg.時不能出現代碼提示。
第五步,調試,運行
啟動tomcat,輸入url就可以運行了。不過文件的後綴不能是.JSP,必須為.faces.