как управлять видом с помощью Spring MVC?

Я использую плитки java, spring mvc и apache в своем веб-приложении.
У меня есть layout.jsp, а внутри у меня есть:

<ul class="section">
    <li class="active"><a href="/search.html">search</a></li>
    <li><a href="/post.html">post</a></li>
    <li><a href="/contact.html">contact</a></li>
    <li class="last" ><a href="/about.html">about</a></li>
</ul>

Это означает, что на каждой странице у меня есть этот список ul.

Предполагая, что текущая страница — «search.html», тогда мне нужен первый li, чтобы получить класс «активный».
Предположим, что текущая страница — «post.html», тогда мне нужен второй li, чтобы получить класс « активно".
И так далее.

Например, при нажатии на ссылку публикации у меня есть контроллер:

@RequestMapping("/post")
public String showPostPage(Model model) {
    return "post";
}

и в моем определении плитки у меня есть представление «пост»:

<definition name="post" extends="base.definition">
    <put-attribute name="title" value="add post"/>
    ....
    ....
</definition>

Как я могу указать представлению, которому li следует назначить «активный» класс?
Как лучше всего это сделать?


person Naor    schedule 27.02.2012    source источник


Ответы (1)


Я думаю, вы можете поместить атрибут модели в контроллер, а затем проверить его в представлении:

model.addAttribute("active", "search");
...
<c:if test="${active == 'search'}">class="active"</c:if>
person Bozho    schedule 27.02.2012
comment
Я новичок в веб-вещах, и я знаю, что это просто, но что такое c?.. Какой taglib я должен добавить на страницу? - person Naor; 28.02.2012
comment
Просто JSTL (стандартный taglib) - person Bozho; 28.02.2012