나는 그런 Login.jsp
과 같은 몇 가지 기본 페이지, Main.jsp
가jsp에서 탐색 링크 추가?
, 그것을 할 수있는 더 좋은 방법이 등으로 스트럿츠 프로젝트 (Struts2를) 만들었습니다?
추가 내가
<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>
확실히 문자열을 비교하고있는 JSP 페이지에서 (서블릿/액션 클래스에서 수행) 세션의 속성
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);
}
로 URL 경로를 들고 목록 이 작업을 수행하는 더 좋은 방법이 있습니다. 누군가 구현할 수있는 올바른 방법을 제안 할 수 있습니까?
링크 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) 링크를 만드는 것이 좋습니다. –