从瓷砖中获取对象列表 viewPreparer

问题描述 投票:0回答:1

我创建了ViewPreparer的实现来获取分类列表。而我需要在头部获取这个列表。

这是我的实现

public class CategoryMenuViewPreparer implements ViewPreparer {

    @Override
    public void execute(Request request, AttributeContext attributeContext) {

        HttpServletRequest httpServletRequest = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        HttpSession session = httpServletRequest.getSession();

        User user = (User) session.getAttribute("user");

        attributeContext.putAttribute("categories", new Attribute(user.getCategories()));
   }
}

这是我对瓷砖的定义。

<definition name="CategoryPage" template="/WEB-INF/layouts/DefaultTemplate.jsp" preparer="ua.uzhhorodteam.cactiportal.handlers.CategoryMenuViewPreparer">
    <put-attribute name="title" value="Category | TTE Web Portal"/>
    <put-attribute name="header" value="/WEB-INF/fragments/defaultHeaderFragment.jsp"/>
    <put-attribute name="footer" value="/WEB-INF/fragments/defaultFooterFragment.jsp"/>
    <put-attribute name="body" value="/WEB-INF/views/categoryPage.jsp"/>
</definition>

那么,我怎么才能把分类列表写在头部作为菜单呢?

java spring spring-mvc tiles2
1个回答
1
投票

你可以使用importAttributes来获取 "category",如

<tiles:importAttribute name="categories">
<c:forEach var="c" items=${categories}>
    <c:out value="${c}"/>
</c:forEach>
© www.soinside.com 2019 - 2024. All rights reserved.