2014-09-10 28 views
0

我有一个从一个jsp页面传递参数到另一个的问题。代码如下所示:JSP读参数部分

主页:

<jsp:include page="page1.jsp"> 
    <jsp:param name="par1" value="1"/> 
    <jsp:param name="par2" value="2"/> 
    <jsp:param name="par3" value="3"/> 
    <jsp:param name="par4" value="4"/> 
</jsp:include> 

和reciever:

<c:set var="a" value="${param.par1}" /> 
<c:set var="b" value="${param.par2}" /> 
<c:set var="c" value="${param.par3}" /> 
<c:set var="d" value="${param.par4}" /> 
<label> 
"${a}"<br/> 
"${b}"<br/> 
"${c}"<br/> 
"${d}"<br/> 
"${param}" 

浏览器显示只是空字符串。 param属性有什么问题?

编辑:它是liferay应用程序。

回答

0

当您以范围提到的方式发送值时,值会丢失。 阅读有关servlet和Jsp中不同作用域的信息。

在将值发送到另一个jsp页面之前,最好有一个servlet(中间b/w Jsp's)。 首先你将值发送给一个servlet。在servlet中,你有一个HttpServletRequest对象。 创建您的Param对象并设置值。 使用setAttribute()在HttpServletRequest对象中设置Param对象。 然后使用RequestDispatcher转到另一个jsp页面。 现在你应该能够看到值。

0

如果您的接收器代码在page1.jsp中,那么它将工作。

+0

接收者是另一个jsp页面。我读了一些关于它的文章,我认为我应该使用liferay-ui:include,但是目前它不显示任何东西。 – wolen 2014-09-11 07:02:12