使用带有两个参数的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,我想指出 我发布了我未成功尝试的内容和实际工作内容 在我对同一天接受的答案的回复中,问题被发布并回答了。
答案 0 :(得分:3)
模型对象将使用其键公开:
Map<String, Object> myModel = new HashMap<String, Object>();
myModel.put("myVar", "myValue");
return new ModelAndView("view", myModel);
在JSP文件中:
...
<p>${myVar}</p>
...
我不确定它是否适用于您的给定变量名称(1
和2
)。但我建议为您的变量使用真正的好名称,就像在Java代码中一样。
请注意,您可以创建ModelAndView
,而无需像这样创建Map
:
ModelAndView modelAndView = new ModelAndView("view");
modelAndView.add("myVar", "myValue");
return modelAndView;
答案 1 :(得分:2)
如果您确实想将"1"
设为model
键,则可以检索此值
<%out.print(request.getAttribute("1"));%>
${requestScope['1']}
请注意将"1"
设为model
密钥真是个坏主意。