如何在jsp中访问ModelMap?

如何在jsp中从ModelMap访问对象,以便可以在其上调用方法? 目前我收到此错误:

Syntax error on token "$", delete this token 

JSP

     

Java的

 @Controller @RequestMapping("/dashboard.htm") @SessionAttributes("data") public class DashBoardController { @RequestMapping(method = RequestMethod.GET) public String getPage(ModelMap model) { String[] menus = { "user", "auth", "menu items", }; String[] files = { "menu", "item", "files", }; MenuWriter m = new MenuWriter(menus, files); model.addAttribute("menus", m); String[] atocs = { "array", "of", "String" }; model.addAttribute("user_atocs", atocs); return "dashboard"; } } 

不推荐使用<% %>语法,不应再使用它。

JSP片段的现代JSP中的等价物将是:

  ${menus.menus}  

显然,这看起来令人困惑,因此您可能需要考虑重新命名模型的某些部分以保证清晰。

另外,你的注释

 @SessionAttributes("data") 

这里什么都不做,因为你在ModelMap没有关键data条目。 这仅在您希望在会话中保留模型数据时才有用,这似乎不需要在此处进行。

${varName}表示法只能用于jstl,而且从不用于普通的java代码。 $ character在Java中没有特殊含义。

尝试使用pageContext.getAttribute("varName")session.getAttribute("varName") (不记得它是如何完成的)。