从tiles viewPreparer获取对象列表

时间:2015-02-04 11:06:55

标签: java spring spring-mvc tiles2

我创建了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>

那么,如何在标题处编写类别列表作为菜单?

1 个答案:

答案 0 :(得分:1)

你可以使用像

这样的importAttributes来获取“类别”
<tiles:importAttribute name="categories">
<c:forEach var="c" items=${categories}>
    <c:out value="${c}"/>
</c:forEach>