在 .jsp 页面的子模板中使用 ArrayList

Using ArrayList in a sub-template on .jsp page

我有一个带菜单的 JSP 主页。我希望该菜单位于多个页面上,因此我创建了一个 menu.jsp 模板。我导入了所有静态源代码,但 <c:forEach /> 标签没有拾取它。当我打印(只是简单地把它放在 html 中)我的 ${allCategories} 变量时,我正确地得到了所有数据。

在控制器中,我设置了model.addAttribute("allCategories", categoryService.getPrimaryCategories());

home.jsp 之前的类别正在导入 <jsp:include page="menu.jsp"/>

in menu.jsp 我无法让 <c:forEach items="${allCategories}" var="category"> 工作,但是当我将 <p>${allCategories}</p> 放在文件的开头时,它会显示类似 [Category(id=1281, name=Bundles, image=https://images... 的内容 如何在子模板中正确获取数据,使其像直接在页面上一样工作?

您可以尝试使用 JSP include 指令。它用于在翻译阶段包含文件。例如,

<%@ include file = "menu.jsp" >