2017-07-27 196 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再次设定值在所有地方调用文件后覆盖。

相关问题