關於Jfinal中ContextPathHandler的做用

關於DEMO怎麼? 嗯 置於這個問題麼,你有三種方式,第一,你來OSC上找,第二,搜索Jfinal羣,不過這兩個方式指向同一個位置,JFinal的官方站點。上面有各類版本的源碼,由於開源,因此你可以改爲你任何想要的樣子,這個我就很少說了,省得被誤認爲打廣告!!css

關於DEMO的樣式丟失問題! 這個問題基本上就是你的資源文件路徑加載不正確的緣由,由於在這個DEMO裏面,他的資源文件路徑是沒有使用絕對路徑的(若是我沒有記錯的話),也就至關於你在引用資源文件的時候路徑寫錯了,最多見的問題就是項目的名稱丟失形成的,舉個例子啊: 假如你的項目就叫DEMO,WEB容器是TOMCAT,在正常狀況下,你若是要訪問這個項目的話,你是否是要按照這樣的方式去作: http://localhost:8080/demo 去訪問你的項目???(注意:demo是你的項目名稱) 那麼如今事情的發展過程是這樣的,在這個DEMO裏面他全部資源文件都是相對路徑,也就是說你訪問的地址已經指向了某個頁面,可是因爲相對路徑的存在,他資源文件可能指向的文件不必定是你的項目裏的。html

具體體現就是「/demo/index.html」(這個頁面可以正常訪問,http://localhost:8080/demo/index.html),可是他的css或者js指向的文件路徑多是(http://localhost:8080/css/yourstyle.css)這樣一來,就資源加載失效了。java

已經有N個羣友遇到過這個問題,下面詳細說說這個解決的方法: 其實只要在你本身的Config中找到如下方法code

<!-- lang: java -->
public void configHandler(Handlers me) {  
  
    me.add(new ContextPathHandler("contextPath"));//假如這個
}

而後在你的模版頁面裏面加入以上這個「contextPath」的變量就行 假如你的模版引擎是FreeMarker,你就加${contextPath} 假如你的模版引擎是JSP,你就加${contextPath} 也就是這樣htm

<link src="${contextPath}/css/style.css" type="type/css" rel="stylesheet"> js也是相似。 基本這樣寫,可以解決你80%的問題,假如你故意寫錯這個加載路徑不在討論的範圍之類。因此我認爲,使用Jfinal的時候,資源文件的加載路徑都是建議使用絕對路徑而不是相對路徑.由於這樣很好排錯!!!資源

相關文章
相關標籤/搜索