解决问题(九)——jsf+facelet(一)下马威
?最近在研究facelet,發現它還是一個很好用的模版類工具,就像把它和jsf整合來用。但是沒想到我心中對facelet的熊熊烈焰,在我剛走到facelet大門的時候就被撲滅的。剛剛接觸,就被facelet來了一個下馬威。
其實我的流程也很簡單,用myeclipse搭建一個web project,在添加jsf capabilities,用1.5的說明,再把support facelet鉤上環境就搭好了。
創建三個文件:index.jsp, welcome.xhtml,main.xhtml(template)
index.jsp中的內容很簡單就是一句<jsp:forward page="/welcome.faces"></jsp:forward>
welcome.xhtml的內容也很簡單
<ui:composition template="/templates/main.xhtml">
???<ui:define name="title">Welcome</ui:define>
???<ui:define name="content">Content</ui:define>
?</ui:composition>
main.xhtml的內容就是主頁面的布局
<div id="container">
???<div id="header">
????<ui:include src="/templates/include/header.xhtml"></ui:include>
???</div>
???<div id="pageBody">
????<div id="leftSideBar">
????</div>
????<div id="content">
?????<ui:insert name="content">Content</ui:insert>
????</div>
????<div id="rightSideBar">
????</div>
???</div>
???<div id="footer">
????<ui:include src="/templates/footer.xhtml"></ui:include>
???</div>
header.xhtml,footer.xhtml是用myeclipse創建的文件,放在/templates/include/下面。里面的內容完全沒有改動過。所有這些都是很簡單的內容,但是一運行就會出現以下錯誤?
HTTP Status 404 - /jsfproject/welcome.faces
type Status report
message /jsfproject/welcome.faces
description The requested resource (/jsfproject/welcome.faces) is not available.
在網上查了很多資料都說是找不到這個文件,經過兩天的研究,看了網上給的例子,和同事做的例子(他做的完全可以運行,除了頁面內容以外什么配置都一樣),才有點結果,明白了為什么。
是實際上可能你也看出來了,上面代碼里面header.xhtml,footer.xhtml放在同一個目錄下面,但是兩個include的src內容卻不一樣(這里這么明顯是為了舉例,當時就算是這么明顯也沒看到,一直以為是自己的環境配置有問題),這個就是問題,因為其中一個文件連接不對,只要把它該對就不會有錯了。
通過對這個問題的研究,收獲就是not available 可以代表(1)文件不存在,在環境中找不到(2)文件存在但是里面包含一些信息導致這個文件不可用。
總結
以上是生活随笔為你收集整理的解决问题(九)——jsf+facelet(一)下马威的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机费用查询2007.3~7
- 下一篇: 项目一般开发流程