我有完全一樣的基本問題about accessing jsp:param values作爲這張海報;遵循他的例子完全不適合我。通過jsp:include傳入的參數似乎並未顯示在包含的文件中。我的設置有什麼特別的嗎?爲什麼jsp:包含參數不可見
來電:
<div>
<jsp:include page="../../../common/callee.jsp">
<jsp:param name="justinVar" value="primary" />
</jsp:include>
</div>
callee.jsp:
<i>method 1: [</i><b><%= request.getParameter("justinVar") %></b><i>]</i>
<p/>
<i>method 2: [</i><b>${param.justinVar}</b><i>]</i>
<p/>
<i>method 3: [</i><b>${justinVar}</b><i>]</i>
<p/>
最終輸出:
method 1: [null]
method 2: []
method 3: []
更新: 以下解決方法確實工作,這似乎是錯誤的,但也許它工作的事實揭示了一些不起作用的事情。
<c:set var="justinVar" value="justinVARisHere" scope="request" />
<jsp:include page="../../../common/callee.jsp" />
第一和第二應該工作(其中第一個是老式的,差的辦法BTW)。第三個錯誤,它只掃描page/request/session/servletcontext屬性,而不是請求參數。你確定你正在運行你認爲你正在運行的代碼嗎?你不是在* real *代碼中動態地填充'jsp:param'的'value'屬性嗎? – BalusC 2011-04-25 16:28:43
那麼,我的目標是爲一個複雜的bean創建一個參數化的編輯器。我想讓這些編輯器中的1-2個顯示在頁面上並綁定到頁面bean的子對象,該參數應該是該子對象的對象路徑名稱。這個例子是'真正的代碼',因爲我不能得到任何東西來工作,並回到基礎。 – Justin 2011-04-25 16:50:14
你使用的是什麼JSP/Servlet容器make/version? Servlet版本是你的'web.xml'被聲明的?在webapp的'WEB-INF/lib'中有沒有servlet容器特定的庫? EL只是在Servlet 2.4/JSP 2.0以後的版本中才開始使用,但是否則你會在HTML輸出中看到未被解析的EL代碼,這在這裏就不是這種情況。儘管我在這裏的黑暗中拍攝了一些東西,但這也無法解釋爲什麼舊的方式也不能提供任何東西。您不得運行您認爲正在運行的代碼。清理環境,清理服務器工作文件夾,重新創建測試文件等。 – BalusC 2011-04-25 16:53:12