2012-02-27 4 views
2

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

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

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

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

При нажатии на почтовой связи, например, у меня есть контроллер:

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

и в моем определении плитки, я имею вид «пост»:

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

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

ответ

3

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

model.addAttribute("active", "search"); 
... 
<c:if test="${active == 'search'}">class="active"</c:if> 
+0

Я новичок в веб-материал, и я знаю, что это является основным, но что такое «с» ?. Какой taglib следует добавить на страницу? – Naor

+1

Просто JSTL (стандартный taglib) – Bozho

Смежные вопросы