學習Java一周之後終於運行成功了第一個JSF程序~關於JSF收集到的資料不少,看是悶頭看了半天仍舊是雲裡霧裡的,還是先實現例子再看原理比較符合我的學習模式,但是在網上搜到的能跟著一步一步來做的入門例子很難找到,很多都是將代碼一貼就開始講原理,可是手上沒有一個真正可以運行的例子就看這些道理,還是不能徹底理解的。對於一個純菜鳥級別的新手來講,很可能最先在JSF的目錄結構上栽跟頭,不知道faces-config.XML是干什麼用的,不知道哪個目錄應該放什麼。這些在老鳥看來簡單至極的事其實如果不點破,很可能讓菜鳥們折騰上N久也不知其所以然。我當然也是菜鳥啦,所以有感於此才決心將學習的過程以及實現例子的細節盡量詳盡的記錄下來。
我使用的是MyEclipse 6.0.1,集成了常用的功能,感覺很好用。建立工程的步驟如下:
1. 新建Web Project,名字什麼的看著辦吧,我的就叫EXP_HelloWorld好了。
2. 右鍵選擇新建的工程,在彈出菜單中選擇MyEclipse-->Add JSF CapabilitIEs...,Finish就好了。這樣一來,你會看到MyEclipse為你的Web Project新加的幾樣東東:
首先是工程目錄裡多了JSF RI 1.1.01 LibrarIEs,裡面包括了JSF所需的jar文件。
然後打開WebRoot/WEB-INF目錄,裡面多出了3個文件:
◆faces-config.XML :這個文件用來做JSF的配置用,大概的用途包括像添加managed bean啊,設置導航啊什麼的,反正是很有用。
◆html_basic.tld和JSf_core.tld :這兩個文件是MyEclipse為了方便用戶自動加入的文件,如果不用這兩個,那麼在編寫的JSP文件中為了使用JSF標簽就總要在開始的Html標簽後加入JSF程序:
- <%@ taglib uri="http://Java.sun.com/JSf/Html" prefix="h" %>
- <%@ taglib uri="http://Java.sun.com/JSf/core" prefix="f" %>
最後一點要說的是Web.XML文件,這個文件比之前Web Project的時候多了以下內容:
- <context-param>
- <param-name>Javax.faces.CONFIG_FILES</param-name>
- <param-value>/WEB-INF/faces-config.XML</param-value>
- </context-param>
- <servlet>
- <servlet-name>Faces Servlet</servlet-name>
- <servlet-class>Javax.faces.webapp.FacesServlet</servlet-class>
- <load-on-startup>0</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>Faces Servlet</servlet-name>
- <url-pattern>*.faces</url-pattern>
- </servlet-mapping>
而JSF程序第3行的就是之前的faces-config.xml文件,所以你完全可以將JSF的配置文件分成多個,然後在這裡以逗號隔開添加進來。第12行的作用是當你在地址欄裡輸入http://XXXXXXXX.faces的時候,服務器才會以JSF的方式進行解析,你才能看到想看的JSF頁面。當然你可以把它改成*.JSf,如果你願意:)。
參照一下上面的所有文件,其實我們完全可以不用MyEclipse直接自己動手創建一個JSF工程的,只不過首先要對哪些文件做什麼為什麼放那裡等問題要心裡有數。