2010-09-17 79 views
15

我的控制器中有這樣的代碼。如何訪問jsp頁面內的ModelAndView對象

ModelAndView result = new ModelAndView("person/sometrends"); 
result.addObject("data", data); // data -> Map 

在我的JSP頁面中,我寫了一些依賴於數據對象的Java代碼。 如何在JSP代碼中獲取該數據對象?

我試過類似這樣的東西(僞碼)。

<% 
    Map x = ${data}; 
%> 

但這不起作用。不知道如何訪問它。

感謝 Varun的

回答

3

試試這個:

request.getAttribute("data") 
1

使用小腳本中的表達式語言會成爲事業。

12

讓我更具體的,如果你想使用jsp而不是jstl訪問Model,你會做這樣的事情:

<% Map x = (Map)request.getAttribute("data") %> 
26

在一個小腳本,您可以使用請求對象,像這樣:

<% Map myMap = (Map) request.getAttribute("data"); %>

如果你想使用類似JSTL,而不是一個scriptlet,你可以這樣做:

<c:forEach var="entry" items="${data}"> 
Name: ${entry.key} <br/> 
Value: ${entry.value} <br/> 
</c:forEach> 

正如Davemeister和新手指出的那樣,在scriptlet中組合EL是導致錯誤的根本原因。

+0

我們如何能夠在一個'class'得到'jsp'變量(即一個文本輸入)(即彈簧控制器)與返回一個ModelAndView對象的函數? – 2016-10-10 11:00:32

-1

包括:<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

然後......

<% 
    Map x = ${data}; 
%> 
+0

不是有效的Java代碼。 – 2016-05-31 16:54:47

2

嘗試<% String username = (String)request.getAttribute("data"); %>

+0

最簡單的方法:)感謝它的工作 – Raheel 2013-02-19 10:28:17