2017-06-15 72 views
0

實際上,我試圖從mainpage.jsp頁面將地圖值獲取到tile頁面lhsListing.jsp中。有沒有辦法傳遞一個地圖對象。以下是我的代碼請幫我找人。如何從主jsp頁面獲取地圖值到tiles jsp頁面

mainPage.jsp

<c:forEach var="lhsSrcMap" varStatus="status" items="${lhsListMap}"> 
    <tiles:insert page="/jsp/common/lhsListing.jsp" > 
    <tiles:put name="lhsSrcMap" value="${lhsSrcMap}"/> 
</tiles:insert> 

lhsListing.jsp

<c:set var="lhsSrcMap"><tiles:get name="lhsSrcMap"/></c:set> 
<c:forEach var="fieldRec" varStatus="status"items="${lhsSrcMap.value['LIST']['SRC_DTL_MAPS_LIST']['FIELD_LIST']}" > 

//something 

</c:forEach> 

錯誤顯示的頁面:

不能插入頁面「$ { lhsSrcMap}':null [ServletExcept ion in:/jsp/common/lhsListing.jsp]使用值「$ {lhsSrcMap.value ['LIST'] ['SRC_DTL_MAPS_LIST'] ['FIELD_LIST']}」評估自定義操作屬性「items」時發生錯誤:Unable to使用運算符「。」在類「java.lang.String」的對象中查找「value」的值。 (null)'

回答

1

我得到了我的問題的解決方案。我們可以用Unified Expression LanguageImplicit Objects

我在JSTL中使用scope="request"

mainpage.jsp

<c:forEach var="lhsSrcMap" varStatus="status" items="${lhsListMap}"> 
    <c:set var="tileLhsSrcMap" value="lhsSrcMap" scope="request"/> 
    <tiles:insert page="/jsp/common/lhsListing.jsp" > 

    </tiles:insert> 
</c:forEach> 

lhsListing.jsp

<c:forEach var="fieldRec" varStatus="status" items="${tileLhsSrcMap.value['LIST']['SRC_DTL_MAPS_LIST']['FIELD_LIST']}" > 

//something 

</c:forEach> 

,或者使用requestScope

lhsListing.jsp

<c:forEach var="fieldRec" varStatus="status" items="${requestScope.tileLhsSrcMap.value['LIST']['SRC_DTL_MAPS_LIST']['FIELD_LIST']}" > 

//something 

</c:forEach>