java - 如何在 jsp 中访问 ModelMap?

标签 java jsp spring-mvc jstl

如何从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"; 
    }
}

最佳答案

<% %>语法已弃用,不应再使用。

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

<body>
   ${menus.menus}
</body>

显然,这看起来令人困惑,因此为了清楚起见,您可能需要考虑重命名模型的某些部分。

还有,你的注解

@SessionAttributes("data")

这里什么都不做,因为你在 ModelMap 中没有条目用 key data .这仅在您想要在整个 session 中保留模型数据时才有用,在这里您似乎不需要这样做。

关于java - 如何在 jsp 中访问 ModelMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384080/

相关文章:

java - 无法通过 Apache Tomcat 访问网络文件夹

java - 错误 : Unreachable code

不带 Spring Boot 的 Spring Boot 2 执行器

java - 我应该如何配置 Jackson 以使用列表项上的 @XmlRootElement 生成 XML

java - 无法添加 HandleInterceptorAdapter 的实例

Java 同步不工作

java - JPA一对多查询结果问题

java - 将 PDF 文件从 Java Bean 返回到 JSP

java - 显示标签中的 Struts2 属性标签

eclipse - JSP 自定义标记 :TagHandlerPool can not access a member of class Tag. 带有修饰符的 QueryTag ""错误?