2017-07-27 69 views
0

當我試圖通過jsp:param發送Object時,它以String形式發送。 例如:如何在JSP中將對象傳遞給JSP:include或c:set

<jsp:include page="Page1.jsp"> 
    <jsp:param name="key" value="${Object1}"/> 
</jsp:include> 

<jsp:include page="Page1.jsp"> 
    <jsp:param name="key" value="${Object2}"/> 
</jsp:include> 

所以我試圖使用,

<c:set var="param" value="${Object1}" scope="request" /> 
<jsp:include page="Page1.jsp"/> 

<c:set var="param" value="${Object2}" scope="request" /> 
<jsp:include page="Page1.jsp"/> 

這是的Page1.jsp:

<c:out value="${param.data}"/> 
<jsp:include page="Page2.jsp"/> 
<c:out value="${param.value}"/> 

O/P

object1data 
object1value 
object2data 
object1value 

用於第一值在調用其他jsp頁面之前的時間是獨特。但是下一個值會被第一個對象內容覆蓋。爲什麼?

回答

0

在Page2.jsp中執行操作,使用請求範圍再次用Object1值聲明相同的變量。 所以這些值被覆蓋。

Page2.jsp:

<c:set var="param" value="${Object1}" scope="request" /> 
{page2 functionality} 

由於相同的密鑰PARAM再次設定值在所有地方調用文件後覆蓋。