我的同事使用的是NetBeans,其下述精細驗證:爲什麼jsp:在eclipse中包含get參數標記爲錯誤的頁面?
<jsp:include page="/somepage.jsp?parameter=value"/>
然而,在Eclipse中,我得到
片段無法在所選路徑中找到
這是做如下驗證罰款:
<jsp:include page="/somepage.jsp"/>
有沒有辦法解決這個問題?
我的同事使用的是NetBeans,其下述精細驗證:爲什麼jsp:在eclipse中包含get參數標記爲錯誤的頁面?
<jsp:include page="/somepage.jsp?parameter=value"/>
然而,在Eclipse中,我得到
片段無法在所選路徑中找到
這是做如下驗證罰款:
<jsp:include page="/somepage.jsp"/>
有沒有辦法解決這個問題?
將參數傳遞給另一個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¶m2=b
的輸出將是:
被叫:
參數1:一個
param2的:VALUE2
參數3:VALUE3
來電:
參數1:一個
param2的:乙
參數3: null
訪問http://www.exampledepot.com/egs/javax.servlet.jsp/caller.jsp.html
您應該使用<jsp:param>
來傳遞請求參數。
<jsp:include page="/somepage.jsp">
<jsp:param name="parameter1" value="value1"/>
</jsp:include>
Eclipse中認爲,被列入該文件的名稱是「somepage.jsp?參數=值「,這當然是不存在的,它在NetBeans中驗證是否正確,因爲它用於解析/驗證路徑的任何機制比Eclipse更明智
Eclipse中的錯誤是假的(假設」 somepage.jsp」確實只在預期位置中存在),因爲JSP編譯器會正確地解釋道,包括‘參數=值’作爲參數到包括JSP,通過訪問:
${param.parameter}
或${param['parameter']}
我不明白這是如何回答OP的問題的,如果是這樣的話,我不清楚,他問的是一個eclipse錯誤,這個答案中甚至沒有提到這個錯誤。 – Matt