Я сделал проект Struts (Struts2) с некоторыми основными страницами, такими как Login.jsp
, Main.jsp
и т.д.Добавление навигационных ссылок в jsp?
Я сделал навигацию таким образом, есть лучший способ сделать это?
Добавлен список холдингового пути URL-адреса в качестве атрибута в сессии (Done в классе сервлета/действия)
private void initNavigationMenu(){
navigationMenu = new HashMap<String, String>();
navigationMenu.put("Main", "/main.jsp");
navigationMenu.put("Login", "/login.jsp");
navigationMenu.put("Registration", "/registration.jsp");
}
@Override
public void contextInitialized(ServletContextEvent event) {
initNavigationMenu();
event.getServletContext().setAttribute("menu", navigationMenu);
}
На странице JSP Я сравнение строк
<div id="nav_container">
<ul id="nav">
<c:forEach items="${menu}" var="item">
<c:choose>
<c:when test="${pageContext.request.servletPath == item.value}">
<li><a id="nav_active" href="" style="color: #000000">${item.key}</a> </li>
</c:when>
<c:otherwise>
<b>
<li><a href="/projectname${item.value}">${item.key}</a></li>
</b>
</c:otherwise>
</c:choose>
</c:forEach>
</ul>
</div>
Определенно есть лучший способ сделать это, может кто-то предложить мне правильный способ реализации.
Вы создаете список URL ссылок и текст и показываете их. –
Я бы не использовал 'HashMap', потому что он неупорядочен. Было бы лучше использовать ['LinkedHashMap'] (http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html) –
Также, используя [' '] (http : //docs.oracle.com/javaee/5/tutorial/doc/bnakh.html#bnakn) было бы лучше создать ссылки. –