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