我在頁面上有幾個類似的結構。每個結構由一個標題和幾個複選框組成。在java代碼中,我爲每組數據創建一個映射並將它們傳遞給服務。如何將地圖傳遞給jsp子結構?
在主jsp頁面上,我獲得服務並可以讀取這些映射鍵和值。但是這樣我會多次重複相同的代碼。所以,我必須創建一個看起來像一個帶有參數的函數,並且會在主頁面中插入一些html代碼。
我可以用簡單的字符串參數調用包含的jsp文件,如here。
<jsp:include page="groop_checkbox_with_header.jspf">
<jsp:param name="mapName" value="investQuestionsExperience"/>
</jsp:include>
....
"${param.mapName}" - for use in the included jsp file
但我無法設置參數到地圖。我可以將參數設置爲地圖名稱,並使用包含的jsp中的地圖名稱從service/request/session中獲取地圖。但是如何獲得被調用的jsp文件中的服務/請求/會話?看來,我不得不發送一些非平凡內容的參數。
但是怎麼樣?
我可以使用的JSP tag
代替include
。但問題仍然幾乎相同。
請注意,我使用純JSP而沒有JSTL <c: >
標籤,我不能使用最後一個標籤。
創建自定義標籤。 –
使用標籤,我再次只能傳遞簡單的字符串參數。我需要通過一張地圖。或者地圖的名字,但是我必須以某種方式傳遞服務/請求/會話。我怎樣才能在那裏? – Gangnus
您無法使用*參數*傳遞Map,但是您可以在Java代碼中創建Map並將其設置爲在JSP中使用的請求* Attribute *。 http://learnjava4enterprise.blogspot.co.uk/2013/01/difference-between-attribute-and.html –