在jsp中添加导航链接?

在jsp中添加导航链接?,jsp,web-applications,servlets,struts,jstl,Jsp,Web Applications,Servlets,Struts,Jstl,我制作了一个Struts项目(Struts2),其中包含一些基本页面,如Login.jsp,Main.jsp等 我已经这样做了导航,有没有更好的方法呢 添加了一个列表,其中包含url路径作为会话中的属性(在servlet/action类中完成) private void initNavigationMenu(){ navigationMenu=新建HashMap(); navigationMenu.put(“Main”,“/Main.jsp”); navigationMenu.put(“Logi

我制作了一个Struts项目(Struts2),其中包含一些基本页面,如
Login.jsp
Main.jsp

我已经这样做了导航,有没有更好的方法呢

添加了一个列表,其中包含url路径作为会话中的属性(在servlet/action类中完成)

private void initNavigationMenu(){
navigationMenu=新建HashMap();
navigationMenu.put(“Main”,“/Main.jsp”);
navigationMenu.put(“Login”,“/Login.jsp”);
navigationMenu.put(“Registration”,“/Registration.jsp”);
}
@凌驾
公共void contextInitialized(ServletContextEvent事件){
初始化导航菜单();
event.getServletContext().setAttribute(“菜单”,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>


肯定有更好的方法可以做到这一点,有人能给我建议正确的实现方法吗。

假设
导航菜单
对象包含操作路径。然后在每个操作中生成一个页面对象,就像获取对菜单项的引用一样,并将该对象放入请求中。因此,它将通过
${page}
提供

当呈现JSP页面时,您知道页面对象是什么,而不是比较
servletPath
的字符串


如果您需要管理持久页面对象,最好使用大多数CMS。一些CMS甚至在URL中使用唯一的页面id作为参数来引用他们正在显示的页面。但这不是必须的。您所需要的只是引用操作路径的页面对象

创建链接URL和文本列表并显示它们。我不会使用
HashMap
,因为它是无序的。它将更好地使用一个也,使用将更好地创建链接。
<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>