2012-03-15 106 views
1

我被給了一個Java Web應用程序代碼來部署,而我的問題是,當我將它部署到本地時,它工作正常,但是當我將它部署到我們的開發服務器時,CSS全部搞砸了。所以我查看了頁面的源代碼,發現用於檢索上下文路徑的JSP表達式語言沒有返回任何值,因此這就是頁面找不到CSS正確位置的原因。JSP上下文路徑

這裏的檢索上下文路徑代碼:

<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/common/css/somestyle.css" media="all" /> 

這裏就是我得到的,當我查看該頁面:

<link rel="stylesheet" type="text/css" href="/common/css/somestyle.css" media="all" /> 

我甚至嘗試部署部署在開發服務器EAR文件我的本地,反之亦然。結果是內置開發的EAR文件在我的本地工作正常,我的本地ear文件構建在開發服務器中搞砸了。

我不明白是什麼原因造成的,開發者服務器和我的本地應用服務器(OC4J),代碼,目錄結構和ant腳本都是一樣的。

請幫忙。謝謝。

+0

見http://stackoverflow.com/questions/2168832/expression-language-in-jsp-not-working一些線索 – 2012-03-15 22:22:18

+0

感謝您的鏈接。 我已閱讀該主題中的評論,並說這個問題有4個主要原因。因此,因爲它在我的本地工作,所以項目編號2,3和4已經出來,只剩下項目編號1.我們的開發服務器運行OC4J 10.1.3.5,並且我檢查了Oracle文檔,它支持JSP 2.0。 [鏈接](http://docs.oracle.com/cd/E14101_01/doc.1013/e13978/intro.htm) 而在最後一部分的評論中,它表示那裏可能會發生EL Jars ,所以我檢查了我的庫,並且我的庫中沒有任何特定於應用程序服務器的jar。我仍然絕望地卡在... – user1174960 2012-03-17 01:38:21

+0

你嘗試在該JSP中執行任何其他EL嗎?那是在工作嗎?例如:$ {header [「user-agent」]}。還請檢查您的應用服務器日誌是否有任何提示 – 2012-03-17 03:28:24

回答

1

你可以試試這個。它不是很好地解決問題,但它適用於我。

<% 
String ctx = request.getContextPath(); 

%>

<link rel="stylesheet" type="text/css" href="<%=ctx%>/common/css/somestyle.css" media="all" />