Spring Web MVC:如何在视图中检索模型(作为地图传递)?

时间:2013-08-23 04:22:43

标签: spring jsp spring-mvc model

使用带有两个参数的ModelandView构造函数 - String viewName, Map model - 将多个参数传递给视图 JSP时,如何检索它们?

如果像地图值一样检索它们,那么地图名称是什么?

假设我的控制器代码具有以下内容:

    Map<String, Object> myModel = new HashMap<String, Object>();
    myModel.put("1", "one");
    myModel.put("2", "two");
    return new ModelAndView("view", myModel);

我需要在JSP添加什么内容才能在页面上显示“一个”和“两个”?

我正在使用Java EE 7,Spring 3.2.4,GlassFish 4服务器

更新

已解决(见接受的答案)。

  

由于这篇文章继续收到downvotes,我想指出   我发布了我未成功尝试的内容和实际工作内容   在我对同一天接受的答案的回复中,问题被发布并回答了。

2 个答案:

答案 0 :(得分:3)

模型对象将使用其键公开:

Map<String, Object> myModel = new HashMap<String, Object>();
myModel.put("myVar", "myValue");
return new ModelAndView("view", myModel);

在JSP文件中:

...
<p>${myVar}</p>
...

我不确定它是否适用于您的给定变量名称(12)。但我建议为您的变量使用真正的好名称,就像在Java代码中一样。

请注意,您可以创建ModelAndView,而无需像这样创建Map

ModelAndView modelAndView = new ModelAndView("view");
modelAndView.add("myVar", "myValue");
return modelAndView;

答案 1 :(得分:2)

如果您确实想将"1"设为model键,则可以检索此值

  1. <%out.print(request.getAttribute("1"));%>
  2. 使用el ${requestScope['1']}
  3. 请注意"1"设为model密钥真是个坏主意。