29 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
29 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> |
30 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
30 <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
31 <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> |
31 <%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> |
32 |
32 |
33 <%-- Version suffix for forcing browsers to update the CSS / JS files --%> |
33 <%-- Version suffix for forcing browsers to update the CSS / JS files --%> |
34 <c:set scope="page" var="versionSuffix" value="20210809"/> |
34 <c:set scope="page" var="versionSuffix" value="20210809b"/> |
35 |
35 |
36 <%-- Make the base href easily available at request scope --%> |
36 <%-- Make the base href easily available at request scope --%> |
37 <c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/> |
37 <c:set scope="page" var="baseHref" value="${requestScope[Constants.REQ_ATTR_BASE_HREF]}"/> |
38 |
38 |
39 <%-- The feed URL for this page. --%> |
39 <%-- The feed URL for this page. --%> |
88 <c:if test="${not empty javascriptFile}"> |
88 <c:if test="${not empty javascriptFile}"> |
89 <script src="${javascriptFile}?v=${versionSuffix}" type="text/javascript"></script> |
89 <script src="${javascriptFile}?v=${versionSuffix}" type="text/javascript"></script> |
90 </c:if> |
90 </c:if> |
91 </head> |
91 </head> |
92 <body> |
92 <body> |
93 <div id="mainMenu"> |
93 <div id="body-area"> |
94 <div class="menuEntry" |
94 <div id="mainMenu"> |
95 <c:if test="${fn:startsWith(requestPath, '/projects/')}">data-active</c:if> > |
95 <div class="menuEntry" |
96 <a href="projects/"> |
96 <c:if test="${fn:startsWith(requestPath, '/projects/')}">data-active</c:if> > |
97 <fmt:message key="menu.projects"/> |
97 <a href="projects/"> |
98 </a> |
98 <fmt:message key="menu.projects"/> |
|
99 </a> |
|
100 </div> |
|
101 <div class="menuEntry" |
|
102 <c:if test="${fn:startsWith(requestPath, '/users/')}">data-active</c:if> > |
|
103 <a href="users/"> |
|
104 <fmt:message key="menu.users"/> |
|
105 </a> |
|
106 </div> |
|
107 <div class="menuEntry" |
|
108 <c:if test="${fn:startsWith(requestPath, '/language/')}">data-active</c:if> > |
|
109 <a href="language/"> |
|
110 <fmt:message key="menu.languages"/> |
|
111 </a> |
|
112 </div> |
|
113 <div class="menuEntry" |
|
114 <c:if test="${fn:startsWith(requestPath, '/about/')}">data-active</c:if> > |
|
115 <a href="about/"> |
|
116 <fmt:message key="menu.about"/> |
|
117 </a> |
|
118 </div> |
|
119 </div> |
|
120 <c:if test="${not empty navMenu}"> |
|
121 <div id="sideMenu"> |
|
122 <%@include file="../jspf/navmenu.jspf" %> |
|
123 </div> |
|
124 </c:if> |
|
125 <div id="content-area"> |
|
126 <c:import url="${contentPage}"/> |
|
127 </div> |
99 </div> |
128 </div> |
100 <div class="menuEntry" |
|
101 <c:if test="${fn:startsWith(requestPath, '/users/')}">data-active</c:if> > |
|
102 <a href="users/"> |
|
103 <fmt:message key="menu.users"/> |
|
104 </a> |
|
105 </div> |
|
106 <div class="menuEntry" |
|
107 <c:if test="${fn:startsWith(requestPath, '/language/')}">data-active</c:if> > |
|
108 <a href="language/"> |
|
109 <fmt:message key="menu.languages"/> |
|
110 </a> |
|
111 </div> |
|
112 <div class="menuEntry" |
|
113 <c:if test="${fn:startsWith(requestPath, '/about/')}">data-active</c:if> > |
|
114 <a href="about/"> |
|
115 <fmt:message key="menu.about"/> |
|
116 </a> |
|
117 </div> |
|
118 </div> |
|
119 <div> |
|
120 <c:if test="${not empty navMenu}"> |
|
121 <div id="sideMenu"> |
|
122 <%@include file="../jspf/navmenu.jspf" %> |
|
123 </div> |
|
124 </c:if> |
|
125 <div id="content-area" <c:if test="${not empty navMenu}">class="sidebar-spacing"</c:if>> |
|
126 <c:import url="${contentPage}"/> |
|
127 </div> |
|
128 </div> |
|
129 </body> |
129 </body> |
130 </html> |
130 </html> |