我制作了一个 Struts 项目 (Struts2),其中包含一些基本页面,例如Login.jsp
等Main.jsp
。
我已经以这种方式完成了导航,有更好的方法吗?
在会话中添加了一个将 url 路径作为属性保存的列表(在 servlet/action 类中完成)
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>
绝对有更好的方法可以做到这一点,有人可以建议我正确的实施方式。