如何从jsp中的ModelMap访问一个对象,以便调用它的方法?目前我收到此错误:
Syntax error on token "$", delete this token
JSP
<body>
<% MenuWriter m = ${data.menus} %>
<%= m.getMenus()%>
</body>
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";
}
}
The <% %>
语法已弃用,不应再使用。
JSP 片段在现代 JSP 中的等效内容是:
<body>
${menus.menus}
</body>
显然,这看起来令人困惑,因此您可能需要考虑重命名模型的某些部分以使其清晰。
另外,你的注释
@SessionAttributes("data")
此处不执行任何操作,因为您没有进入ModelMap
用钥匙data
。仅当您想在整个会话中保留模型数据时,这才有用,但这里似乎不需要这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)