2016-12-15 100 views
0

我有一個Java WebApp。我已經在上下文中添加了一些屬性,並且在我需要時使用init params來獲取它們。在JSP中包含動態頁面

內容head.jspf

<link href="${initParam['bootstrap_css_cdn']}" rel="stylesheet" media="screen"> 
<link href="${applicationScope['css_dir']}basic.css" rel="stylesheet" media="screen"> 

的index.jsp,如果我這樣做:

<jsp:include page="WEB-INF/jspf/head.jspf" /> 

它完美的作品!

但是,如果我這樣做:

<jsp:include page="${applicationScope['headURL']}" 

不會在所有的工作(以下簡稱「headURL」變量是正確的URL字符串)。我的意思是,包含在JSPF但是,例如,下面的代碼被寫入最終的HTML代碼,從字面上:

${applicationScope['css_dir']} 

我在做什麼錯?

+2

JSPF文件未被編譯。它們應該被靜態包含,而不是動態的(即用'<%@include %>')。如果您想要動態包含,請將擴展名更改爲.jsp。 –

+0

非常感謝!這是解決方案! :) – Ommadawn

回答

0

@JBMizet在評論中寫道:

JSPF文件不會被編譯。它們應該靜態包含,而不是動態包含(即使用<%@ include%>)。如果您想要動態包含,請將擴展名更改爲.jsp。

+0

([評論轉換爲社區wiki](http://meta.stackoverflow.com/questions/251597/question-with-no-answers-but-issue-solved-in-the-comments-or-extended -in聊天)) –