3

当使用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 服务器

更新:

已解决(请参阅已接受的答案)。

由于这篇文章继续收到反对票,我想指出我在发布和回答问题的同一天发布了我未成功尝试的内容以及在我对下面接受的答案的回复中实际有效的内容。

4

2 回答 2

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;
于 2013-08-23T05:57:24.143 回答
2

如果你真的想把它"1"作为model键,你可以像这样检索值

  1. <%out.print(request.getAttribute("1"));%>
  2. 像这样使用 el${requestScope['1']}

请注意, put "1"as modelkey 确实是个坏主意。

于 2013-08-23T07:29:00.470 回答