简体   繁体   English

从瓷砖 viewPreparer 获取对象列表

[英]get list of objects from tiles viewPreparer

I create implementation of ViewPreparer for getting categories list.我创建了 ViewPreparer 的实现来获取类别列表。 And I need to get this list at header.我需要在标题中获取此列表。

This is my implementation这是我的实现

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()));
   }
}

And this is my tiles-definition这是我的瓷砖定义

<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>

So, how can I write categories list at header as menu?那么,如何将标题中的类别列表写为菜单?

you can get "categories" out using importAttributes like您可以使用 importAttributes 获取“类别”,例如

<tiles:importAttribute name="categories">
<c:forEach var="c" items=${categories}>
    <c:out value="${c}"/>
</c:forEach>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM