2014-09-10 84 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