2012-09-24 31 views

回答

3

將參數傳遞給另一個JSP頁 一種包括動作(參照包含在JSP頁文件)執行包括JSP頁面並將所產生的輸出附加到其自己的輸出流。從URL的查詢字符串解析的請求參數不僅可用於主JSP頁面,還可用於所有包含的JSP頁面。可以臨時覆蓋請求參數或在調用JSP頁面時臨時引入新的請求參數。這是通過使用jsp:param操作完成的。

在此示例中,param1在查詢字符串中指定,並自動提供給被調用JSP頁面。 param2也在查詢字符串中指定,但被調用者覆蓋。請注意,param2在調用後恢復到其原始值。 param3是調用者創建的新請求參數。請注意,param3僅適用於被調用者,並且被調用者返回時,param3不再存在。這是主叫方JSP頁面:

<html> 
<head></head> 
<body> 

<jsp:include page="callee.jsp" /> 
    <jsp:param name="param2" value="value2" /> 
    <jsp:param name="param3" value="value3" /> 
</jsp:include> 

Caller: 
param1: <%= request.getParameter("param1") %> 
param2: <%= request.getParameter("param2") %> 
param3: <%= request.getParameter("param3") %> 

</body> 
</html> 

這裏是JSP頁面被稱爲:

被叫:

param1: <%= request.getParameter("param1") %> 
param2: <%= request.getParameter("param2") %> 
param3: <%= request.getParameter("param3") %> 

如果實例調用的網址:

http://hostname.com?param1=a&param2=b 

的輸出將是:

被叫:

參數1:一個

param2的:VALUE2

參數3:VALUE3

來電:

參數1:一個

param2的:乙

參數3: null

訪問http://www.exampledepot.com/egs/javax.servlet.jsp/caller.jsp.html

+1

我不明白這是如何回答OP的問題的,如果是這樣的話,我不清楚,他問的是一個eclipse錯誤,這個答案中甚至沒有提到這個錯誤。 – Matt

4

您應該使用<jsp:param>來傳遞請求參數。

<jsp:include page="/somepage.jsp"> 
    <jsp:param name="parameter1" value="value1"/> 
</jsp:include> 
0

Eclipse中認爲,被列入該文件的名稱是「somepage.jsp?參數=值「,這當然是不存在的,它在NetBeans中驗證是否正確,因爲它用於解析/驗證路徑的任何機制比Eclipse更明智

Eclipse中的錯誤是假的(假設」 somepage.jsp」確實只在預期位置中存在),因爲JSP編譯器會正確地解釋道,包括‘參數=值’作爲參數到包括JSP,通過訪問:

${param.parameter}${param['parameter']}

相關問題