などLogin.jsp
の基本的なページを使用してStrutsプロジェクト(Struts2)を作成しました。Main.jsp
私はこの方法でナビゲーションを行いましたが、それを行うためのより良い方法はありますか?
セッションの属性としてURLパスを保持するリストを追加しました(サーブレット/アクションクラスで実行)
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>
間違いなくこれを行うためのより良い方法があります、誰かが私に実装する正しい方法を提案できますか?