我正在開發一個春天MVC3應用程序,並遇到以下情況:JSP傳遞數組作爲參數,增加了方括號中第一和最後一個元素
我通過ModelAndView對象2項返回: 工作=的ArrayList 部門=的ArrayList到的Page1.jsp
當我在第一頁打印的對象,我得到:
爲所有的人:
${jobs} -> [ADMIN, CLERK, DEPARTMENT_MANANGER, DIVISION_MANAGER]
並單獨我讓他們很好,每一個上線
<c:forEach items="${jobs}" var="job">
<h6>${job}</h6>
</c:forEach>
問題是,當我有page2.jsp,並把這些數組作爲參數。
<jsp:include page="page2.jsp" >
<jsp:param name="jobs" value="${jobs}" />
<jsp:param name="departments" value="${departments}" />
</jsp:include>
並嘗試再次打印這些元素我在第一個和最後一個元素中獲取括號。 (我和param.jobs正確訪問的陣列。)
爲所有這些:[管理員,祕書,DEPARTMENT_MANANGER,DIVISION_MANAGER] 每一個單獨:
[ADMIN
CLERK
DEPARTMENT_MANANGER
DIVISION_MANAGER]
是否有人知道爲什麼會這樣發生,我怎麼能避免這種情況?
後來編輯:
此外,當我通過它應該是在page2.jsp對象,並嘗試打印他們的名字($ dept.name,這在的Page1.jsp正常工作)的部門重複我得到:
javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String
這是一個清楚的指標,它們作爲字符串傳遞。
如何將它們作爲page1.jsp中的Objects?
謝謝:)
我找到某種解決辦法的..
<c:set var="allJobs" value="${jobs}" scope="request" />
,然後我可以訪問它們爲$ {} allJobs
不知道這是最正統的方式雖然..
sry這是我的錯誤在我的答案。我張貼沒有格式。很高興你解決它:) –