Procházet zdrojové kódy

copy jsp files to orig directory

Shinsuke Sugaya před 9 roky
rodič
revize
c28af46610

+ 3 - 3
src/main/webapp/WEB-INF/orig/view/error.jsp

@@ -6,7 +6,7 @@
 <meta http-equiv="content-style-type" content="text/css" />
 <meta http-equiv="content-script-type" content="text/javascript" />
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<title><bean:message key="labels.error_title" /></title>
+<title><la:message key="labels.error_title" /></title>
 <link href="${f:url('/css/style-base.css')}" rel="stylesheet"
 	type="text/css" />
 <link href="${f:url('/css/style.css')}" rel="stylesheet"
@@ -19,7 +19,7 @@
 			<div class="center row">
 				<div class="span10">
 					<h2>
-						<bean:message key="labels.error_title" />
+						<la:message key="labels.error_title" />
 					</h2>
 					<div class="errormessage">${errorMessage}</div>
 				</div>
@@ -28,7 +28,7 @@
 		<jsp:include page="footer.jsp" />
 	</div>
 	<script type="text/javascript"
-		src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
+		src="${f:url('/js/jquery-2.1.4.min.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/bootstrap.js')}"></script>
 </body>
 </html>

+ 9 - 8
src/main/webapp/WEB-INF/orig/view/error/badRequest.jsp

@@ -2,11 +2,11 @@
 <!DOCTYPE html>
 <% try{ %>
 <html>
-<head>
+<head profile="http://a9.com/-/spec/opensearch/1.1/">
 <meta charset="utf-8">
-<meta http-equiv="content-style-type" content="text/css" />
-<meta http-equiv="content-script-type" content="text/javascript" />
-<title><bean:message key="labels.system_error_title" /></title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="x-ua-compatible" content="ie=edge">
+<title><la:message key="labels.system_error_title" /></title>
 <link href="${f:url('/css/style-base.css')}" rel="stylesheet"
 	type="text/css" />
 <link href="${f:url('/css/style.css')}" rel="stylesheet"
@@ -17,18 +17,19 @@
 	<div class="container">
 		<div class="content">
 			<div class="center row">
-				<div class="span10">
+				<div class="col-md-12">
 					<h2>
-						<bean:message key="labels.request_error_title" />
+						<la:message key="labels.request_error_title" />
 					</h2>
-					<div class="errormessage"><bean:message key="labels.bad_request" /></div>
+					<div class="errormessage"><la:message key="labels.bad_request" /></div>
 				</div>
 			</div>
 		</div>
 		<jsp:include page="footer.jsp" />
 	</div>
+	<input type="hidden" id="contextPath" value="<%=request.getContextPath()%>" />
 	<script type="text/javascript"
-		src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
+		src="${f:url('/js/jquery-2.1.4.min.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/bootstrap.js')}"></script>
 </body>
 </html>

+ 4 - 5
src/main/webapp/WEB-INF/orig/view/error/footer.jsp

@@ -1,10 +1,9 @@
 <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
 <hr/>
-<footer class="footer">
-	<div id="footer" class="row center">
-		<p class="left"></p>
-		<p class="right">
-			<bean:message key="labels.footer.copyright" />
+<footer class="bd-footer text-muted" role="contentinfo">
+	<div id="footer" class="container center">
+		<p>
+			<la:message key="labels.footer.copyright" />
 		</p>
 	</div>
 </footer>

+ 110 - 108
src/main/webapp/WEB-INF/orig/view/error/header.jsp

@@ -1,124 +1,126 @@
 <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
-<s:form action="/search" method="get">
-	<div class="navbar navbar-inverse navbar-fixed-top">
-		<div class="navbar-inner">
-			<div class="container">
-				<s:link styleClass="brand" href="/">
-					<img src="${f:url('/images/logo-head.png')}"
-						alt="<bean:message key="labels.header_brand_name" />" />
-				</s:link>
-				<div class="navbar-form pull-right">
-					<html:text property="query" maxlength="1000" styleId="query" />
-					<button class="btn medium btn-primary" type="submit" name="search"
-						id="searchButton">
-						<bean:message key="labels.search" />
+<la:form action="/search" method="get" styleId="searchForm" styleClass="searchResultForm">
+${fe:facetForm()}${fe:geoForm()}
+	<nav class="navbar navbar-dark bg-inverse navbar-static-top pos-f-t">
+		<la:link styleClass="navbar-brand" href="/">
+			<img src="${f:url('/images/logo-head.png')}" alt="<la:message key="labels.header_brand_name" />" />
+		</la:link>
+		<div class="form-inline navbar-form pull-right">
+			<la:text property="query" maxlength="1000" styleId="query" styleClass="form-control" autocomplete="off"/>
+			<button class="btn medium btn-primary" type="submit" name="search" id="searchButton">
+				<i class="icon-search icon-white"></i><span class="hidden-phone"><la:message key="labels.search" /></span>
+			</button>
+			<a href="#searchOptions" role="button" class="btn btn-secondary" data-toggle="modal"><i class="icon-cog"></i><span
+				class="hidden-phone"
+			><la:message key="labels.header_form_option_btn" /></span></a>
+		</div>
+	</nav>
+	<div class="modal fade" id="searchOptions" tabindex="-1" role="dialog" aria-labelledby="searchOptionsLabel"
+		aria-hidden="true"
+	>
+		<div class="modal-dialog" role="document">
+			<div class="modal-content">
+				<div class="modal-header">
+					<button type="button" class="close" data-dismiss="modal" aria-label="Close">
+						<span aria-hidden="true">&times;</span> <span class="sr-only">Close</span>
 					</button>
-					<a href="#searchOptions" role="button" class="btn"
-						data-toggle="modal"><bean:message
-							key="labels.header_form_option_btn" /></a>
+					<h4 class="modal-title" id="searchOptionsLabel">
+						<la:message key="labels.search_options" />
+					</h4>
 				</div>
-			</div>
-		</div>
-	</div>
-	<div class="modal hide fade" id="searchOptions">
-		<div class="modal-header">
-			<button type="button" class="close" data-dismiss="modal"
-				aria-hidden="true">&times;</button>
-			<h3>
-				<bean:message key="labels.search_options" />
-			</h3>
-		</div>
-		<div class="modal-body">
-			<fieldset>
-				<div class="clearfix">
-					<label for="contentNum"><bean:message
-							key="labels.index_num" /></label>
-					<div class="input">
-						<html:select property="num" styleId="contentNum"
-							styleClass="span4" style="display:block;">
+				<div class="modal-body">
+					<fieldset class="form-group">
+						<label for="contentNum"><la:message key="labels.index_num" /></label>
+						<la:select property="num" styleId="numSearchOption" styleClass="form-control" style="display:block;">
 							<option value="">
-								<bean:message key="labels.search_result_select_num" />
+								<la:message key="labels.search_result_select_num" />
 							</option>
-							<html:option value="10">10</html:option>
-							<html:option value="20">20</html:option>
-							<html:option value="30">30</html:option>
-							<html:option value="40">40</html:option>
-							<html:option value="50">50</html:option>
-							<html:option value="100">100</html:option>
-						</html:select>
-					</div>
-				</div>
-				<div class="clearfix">
-					<label for="contentSort"><bean:message
-							key="labels.index_sort" /></label>
-					<div class="input">
-						<html:select property="sort" styleId="contentSort"
-							styleClass="span4" style="display:block;">
+							<la:option value="10">10</la:option>
+							<la:option value="20">20</la:option>
+							<la:option value="30">30</la:option>
+							<la:option value="40">40</la:option>
+							<la:option value="50">50</la:option>
+							<la:option value="100">100</la:option>
+						</la:select>
+					</fieldset>
+					<fieldset class="form-group">
+						<label for="contentSort"><la:message key="labels.index_sort" /></label>
+						<la:select property="sort" styleId="sortSearchOption" styleClass="form-control" style="display:block;">
 							<option value="">
-								<bean:message key="labels.search_result_select_sort" />
+								<la:message key="labels.search_result_select_sort" />
 							</option>
-							<html:option value="created.asc">
-								<bean:message key="labels.search_result_sort_created_asc" />
-							</html:option>
-							<html:option value="created.desc">
-								<bean:message key="labels.search_result_sort_created_desc" />
-							</html:option>
-							<html:option value="contentLength.asc">
-								<bean:message key="labels.search_result_sort_contentLength_asc" />
-							</html:option>
-							<html:option value="contentLength.desc">
-								<bean:message key="labels.search_result_sort_contentLength_desc" />
-							</html:option>
-							<html:option value="lastModified.asc">
-								<bean:message key="labels.search_result_sort_lastModified_asc" />
-							</html:option>
-							<html:option value="lastModified.desc">
-								<bean:message key="labels.search_result_sort_lastModified_desc" />
-							</html:option>
-						</html:select>
-					</div>
-				</div>
-				<div class="clearfix">
-					<label for="contentLang"><bean:message
-							key="labels.index_lang" /></label>
-					<div class="input">
-						<html:select property="lang"
-							styleId="langSearchOption" multiple="true"
-							styleClass="span4">
+							<la:option value="created.asc">
+								<la:message key="labels.search_result_sort_created_asc" />
+							</la:option>
+							<la:option value="created.desc">
+								<la:message key="labels.search_result_sort_created_desc" />
+							</la:option>
+							<la:option value="contentLength.asc">
+								<la:message key="labels.search_result_sort_contentLength_asc" />
+							</la:option>
+							<la:option value="contentLength.desc">
+								<la:message key="labels.search_result_sort_contentLength_desc" />
+							</la:option>
+							<la:option value="lastModified.asc">
+								<la:message key="labels.search_result_sort_lastModified_asc" />
+							</la:option>
+							<la:option value="lastModified.desc">
+								<la:message key="labels.search_result_sort_lastModified_desc" />
+							</la:option>
+							<c:if test="${searchLogSupport}">
+								<la:option value="clickCount_l_x_dv.asc">
+									<la:message key="labels.search_result_sort_clickCount_asc" />
+								</la:option>
+								<la:option value="clickCount_l_x_dv.desc">
+									<la:message key="labels.search_result_sort_clickCount_desc" />
+								</la:option>
+							</c:if>
+							<c:if test="${favoriteSupport}">
+								<la:option value="favoriteCount_l_x_dv.asc">
+									<la:message key="labels.search_result_sort_favoriteCount_asc" />
+								</la:option>
+								<la:option value="favoriteCount_l_x_dv.desc">
+									<la:message key="labels.search_result_sort_favoriteCount_desc" />
+								</la:option>
+							</c:if>
+						</la:select>
+					</fieldset>
+					<fieldset class="form-group">
+						<label for="contentLang"><la:message key="labels.index_lang" /></label>
+						<la:select property="lang" styleId="langSearchOption" multiple="true" styleClass="form-control">
 							<c:forEach var="item" items="${langItems}">
-								<html:option value="${f:u(item.value)}">
+								<la:option value="${f:u(item.value)}">
 													${f:h(item.label)}
-												</html:option>
+												</la:option>
 							</c:forEach>
-						</html:select>
-					</div>
-				</div>
-				<c:if test="${displayLabelTypeItems}">
-					<div class="clearfix">
-						<label for="contentLabelType"><bean:message
-								key="labels.index_label" /></label>
-						<div class="input">
-							<html:select property="fields.label" styleId="contentLabelType"
-								multiple="true" styleClass="span4">
+						</la:select>
+					</fieldset>
+					<c:if test="${displayLabelTypeItems}">
+						<fieldset class="form-group">
+							<label for="contentLabelType"><la:message key="labels.index_label" /></label>
+							<la:select property="fields.label" styleId="labelTypeSearchOption" multiple="true" styleClass="form-control">
 								<c:forEach var="item" items="${labelTypeItems}">
-									<html:option value="${f:u(item.value)}">
+									<la:option value="${f:u(item.value)}">
 														${f:h(item.label)}
-													</html:option>
+													</la:option>
 								</c:forEach>
-							</html:select>
-						</div>
-					</div>
-				</c:if>
-			</fieldset>
-		</div>
-		<div class="modal-footer">
-			<button class="btn" id="searchOptionsClearButton">
-				<bean:message key="labels.search_options_clear" />
-			</button>
-			<button class="btn" data-dismiss="modal" aria-hidden="true">
-				<bean:message key="labels.search_options_close" />
-			</button>
+							</la:select>
+						</fieldset>
+					</c:if>
+				</div>
+				<div class="modal-footer">
+					<button class="btn btn-secondary" id="searchOptionsClearButton">
+						<la:message key="labels.search_options_clear" />
+					</button>
+					<button class="btn btn-secondary" data-dismiss="modal" aria-hidden="true">
+						<la:message key="labels.search_options_close" />
+					</button>
+					<button class="btn btn-primary" type="submit">
+						<la:message key="labels.search" />
+					</button>
+				</div>
+			</div>
 		</div>
 	</div>
-</s:form>
+</la:form>
 

+ 10 - 9
src/main/webapp/WEB-INF/orig/view/error/notFound.jsp

@@ -1,11 +1,11 @@
 <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
 <!DOCTYPE html>
 <html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta http-equiv="content-style-type" content="text/css" />
-<meta http-equiv="content-script-type" content="text/javascript" />
-<title><bean:message key="labels.system_error_title" /></title>
+<head profile="http://a9.com/-/spec/opensearch/1.1/">
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="x-ua-compatible" content="ie=edge">
+<title><la:message key="labels.system_error_title" /></title>
 <link href="${f:url('/css/style-base.css')}" rel="stylesheet"
 	type="text/css" />
 <link href="${f:url('/css/style.css')}" rel="stylesheet"
@@ -16,12 +16,12 @@
 	<div class="container">
 		<div class="content">
 			<div class="center row">
-				<div class="span10">
+				<div class="col-md-12">
 					<h2>
-						<bean:message key="labels.page_not_found_title" />
+						<la:message key="labels.page_not_found_title" />
 					</h2>
 					<div class="message">
-						<bean:message key="labels.check_url" />
+						<la:message key="labels.check_url" />
 						<br /> ${f:h(url)}
 					</div>
 				</div>
@@ -29,8 +29,9 @@
 		</div>
 		<jsp:include page="footer.jsp" />
 	</div>
+	<input type="hidden" id="contextPath" value="<%=request.getContextPath()%>" />
 	<script type="text/javascript"
-		src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
+		src="${f:url('/js/jquery-2.1.4.min.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/bootstrap.js')}"></script>
 </body>
 </html>

+ 9 - 8
src/main/webapp/WEB-INF/orig/view/error/system.jsp

@@ -2,11 +2,11 @@
 <!DOCTYPE html>
 <% try{ %>
 <html>
-<head>
+<head profile="http://a9.com/-/spec/opensearch/1.1/">
 <meta charset="utf-8">
-<meta http-equiv="content-style-type" content="text/css" />
-<meta http-equiv="content-script-type" content="text/javascript" />
-<title><bean:message key="labels.system_error_title" /></title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="x-ua-compatible" content="ie=edge">
+<title><la:message key="labels.system_error_title" /></title>
 <link href="${f:url('/css/style-base.css')}" rel="stylesheet"
 	type="text/css" />
 <link href="${f:url('/css/style.css')}" rel="stylesheet"
@@ -17,18 +17,19 @@
 	<div class="container">
 		<div class="content">
 			<div class="center row">
-				<div class="span10">
+				<div class="col-md-12">
 					<h2>
-						<bean:message key="labels.system_error_title" />
+						<la:message key="labels.system_error_title" />
 					</h2>
-					<div class="errormessage"><bean:message key="labels.contact_site_admin" /></div>
+					<div class="errormessage"><la:message key="labels.contact_site_admin" /></div>
 				</div>
 			</div>
 		</div>
 		<jsp:include page="footer.jsp" />
 	</div>
+	<input type="hidden" id="contextPath" value="<%=request.getContextPath()%>" />
 	<script type="text/javascript"
-		src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
+		src="${f:url('/js/jquery-2.1.4.min.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/bootstrap.js')}"></script>
 </body>
 </html>

+ 4 - 5
src/main/webapp/WEB-INF/orig/view/footer.jsp

@@ -1,10 +1,9 @@
 <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
 <hr/>
-<footer class="footer">
-	<div id="footer" class="row center">
-		<p class="left"></p>
-		<p class="right">
-			<bean:message key="labels.footer.copyright" />
+<footer class="bd-footer text-muted" role="contentinfo">
+	<div id="footer" class="container center">
+		<p>
+			<la:message key="labels.footer.copyright" />
 		</p>
 	</div>
 </footer>

+ 144 - 124
src/main/webapp/WEB-INF/orig/view/header.jsp

@@ -1,148 +1,168 @@
 <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
-<s:form action="search" method="get" styleId="searchForm" styleClass="searchResultForm">
+<la:form action="search" method="get" styleId="searchForm"
+	styleClass="searchResultForm">
 ${fe:facetForm()}${fe:geoForm()}
-	<div class="navbar navbar-inverse navbar-fixed-top">
-		<div class="navbar-inner">
-			<div class="container">
-				<s:link styleClass="brand" href="/">
-					<img src="${f:url('/images/logo-head.png')}"
-						alt="<bean:message key="labels.header_brand_name" />" />
-				</s:link>
-				<div class="navbar-form pull-right">
-					<html:text property="query" maxlength="1000" styleId="query" autocomplete="off"/>
-					<button class="btn medium btn-primary" type="submit" name="search"
-						id="searchButton">
-						<i class="icon-search icon-white"></i><span class="hidden-phone"><bean:message
-								key="labels.search" /></span>
+	<nav class="navbar navbar-dark bg-inverse navbar-static-top pos-f-t">
+		<div class="container">
+			<la:link styleClass="navbar-brand" href="/">
+				<img src="${f:url('/images/logo-head.png')}"
+					alt="<la:message key="labels.header_brand_name" />" />
+			</la:link>
+			<div class="form-inline navbar-form pull-right">
+				<la:text property="query" maxlength="1000" styleId="query"
+					styleClass="form-control" autocomplete="off" />
+				<div class="btn-group">
+					<button type="submit" name="search" id="searchButton"
+						class="btn btn-primary">
+						<i class="fa fa-search"></i>
+						<la:message key="labels.search" />
 					</button>
-					<a href="#searchOptions" role="button" class="btn"
-						data-toggle="modal"><i class="icon-cog"></i><span
-						class="hidden-phone"><bean:message
-								key="labels.header_form_option_btn" /></span></a>
+					<button type="button" class="btn btn-primary dropdown-toggle"
+						data-toggle="dropdown" aria-expanded="false">
+						<span class="caret"></span> <span class="sr-only"><la:message
+								key="labels.header_form_option_btn" /></span>
+					</button>
+					<div class="dropdown-menu" aria-labelledby="optionMenu">
+						<a href="#searchOptions" class="dropdown-item" data-toggle="modal"><la:message
+								key="labels.header_form_option_btn" /></a>
+					</div>
 				</div>
 			</div>
+			<ul class="nav navbar-nav pull-right">
+				<c:if test="${!empty username && username != 'guest'}">
+					<li class="nav-item">
+						<div class="dropdown">
+							<a class="nav-link dropdown-toggle" data-toggle="dropdown"
+								href="#" role="button" aria-haspopup="true"
+								aria-expanded="false"> <i class="fa fa-user"></i>${username}
+							</a>
+							<div class="dropdown-menu" aria-labelledby="userMenu">
+								<la:link href="/logout" styleClass="dropdown-item">
+									<la:message key="labels.logout" />
+								</la:link>
+							</div>
+						</div>
+					</li>
+				</c:if>
+			</ul>
 		</div>
-	</div>
-	<div class="modal hide fade" id="searchOptions">
-		<div class="modal-header">
-			<button type="button" class="close" data-dismiss="modal"
-				aria-hidden="true">&times;</button>
-			<h3>
-				<bean:message key="labels.search_options" />
-			</h3>
-		</div>
-		<div class="modal-body">
-			<fieldset>
-				<div class="clearfix">
-					<label for="contentNum"><bean:message
-							key="labels.index_num" /></label>
-					<div class="input">
-						<html:select property="num" styleId="numSearchOption"
-							styleClass="span4" style="display:block;">
+	</nav>
+	<div class="modal fade" id="searchOptions" tabindex="-1" role="dialog"
+		aria-labelledby="searchOptionsLabel" aria-hidden="true">
+		<div class="modal-dialog" role="document">
+			<div class="modal-content">
+				<div class="modal-header">
+					<button type="button" class="close" data-dismiss="modal"
+						aria-label="Close">
+						<span aria-hidden="true">&times;</span> <span class="sr-only">Close</span>
+					</button>
+					<h4 class="modal-title" id="searchOptionsLabel">
+						<la:message key="labels.search_options" />
+					</h4>
+				</div>
+				<div class="modal-body">
+					<fieldset class="form-group">
+						<label for="contentNum"><la:message key="labels.index_num" /></label>
+						<la:select property="num" styleId="numSearchOption"
+							styleClass="form-control" style="display:block;">
 							<option value="">
-								<bean:message key="labels.search_result_select_num" />
+								<la:message key="labels.search_result_select_num" />
 							</option>
-							<html:option value="10">10</html:option>
-							<html:option value="20">20</html:option>
-							<html:option value="30">30</html:option>
-							<html:option value="40">40</html:option>
-							<html:option value="50">50</html:option>
-							<html:option value="100">100</html:option>
-						</html:select>
-					</div>
-				</div>
-				<div class="clearfix">
-					<label for="contentSort"><bean:message
-							key="labels.index_sort" /></label>
-					<div class="input">
-						<html:select property="sort" styleId="sortSearchOption"
-							styleClass="span4" style="display:block;">
+							<la:option value="10">10</la:option>
+							<la:option value="20">20</la:option>
+							<la:option value="30">30</la:option>
+							<la:option value="40">40</la:option>
+							<la:option value="50">50</la:option>
+							<la:option value="100">100</la:option>
+						</la:select>
+					</fieldset>
+					<fieldset class="form-group">
+						<label for="contentSort"><la:message
+								key="labels.index_sort" /></label>
+						<la:select property="sort" styleId="sortSearchOption"
+							styleClass="form-control" style="display:block;">
 							<option value="">
-								<bean:message key="labels.search_result_select_sort" />
+								<la:message key="labels.search_result_select_sort" />
 							</option>
-							<html:option value="created.asc">
-								<bean:message key="labels.search_result_sort_created_asc" />
-							</html:option>
-							<html:option value="created.desc">
-								<bean:message key="labels.search_result_sort_created_desc" />
-							</html:option>
-							<html:option value="contentLength.asc">
-								<bean:message key="labels.search_result_sort_contentLength_asc" />
-							</html:option>
-							<html:option value="contentLength.desc">
-								<bean:message key="labels.search_result_sort_contentLength_desc" />
-							</html:option>
-							<html:option value="lastModified.asc">
-								<bean:message key="labels.search_result_sort_lastModified_asc" />
-							</html:option>
-							<html:option value="lastModified.desc">
-								<bean:message key="labels.search_result_sort_lastModified_desc" />
-							</html:option>
+							<la:option value="created.asc">
+								<la:message key="labels.search_result_sort_created_asc" />
+							</la:option>
+							<la:option value="created.desc">
+								<la:message key="labels.search_result_sort_created_desc" />
+							</la:option>
+							<la:option value="contentLength.asc">
+								<la:message key="labels.search_result_sort_contentLength_asc" />
+							</la:option>
+							<la:option value="contentLength.desc">
+								<la:message key="labels.search_result_sort_contentLength_desc" />
+							</la:option>
+							<la:option value="lastModified.asc">
+								<la:message key="labels.search_result_sort_lastModified_asc" />
+							</la:option>
+							<la:option value="lastModified.desc">
+								<la:message key="labels.search_result_sort_lastModified_desc" />
+							</la:option>
 							<c:if test="${searchLogSupport}">
-							<html:option value="clickCount_l_x_dv.asc">
-								<bean:message key="labels.search_result_sort_clickCount_asc" />
-							</html:option>
-							<html:option value="clickCount_l_x_dv.desc">
-								<bean:message key="labels.search_result_sort_clickCount_desc" />
-							</html:option>
+								<la:option value="clickCount_l_x_dv.asc">
+									<la:message key="labels.search_result_sort_clickCount_asc" />
+								</la:option>
+								<la:option value="clickCount_l_x_dv.desc">
+									<la:message key="labels.search_result_sort_clickCount_desc" />
+								</la:option>
 							</c:if>
 							<c:if test="${favoriteSupport}">
-							<html:option value="favoriteCount_l_x_dv.asc">
-								<bean:message key="labels.search_result_sort_favoriteCount_asc" />
-							</html:option>
-							<html:option value="favoriteCount_l_x_dv.desc">
-								<bean:message
-									key="labels.search_result_sort_favoriteCount_desc" />
-							</html:option>
+								<la:option value="favoriteCount_l_x_dv.asc">
+									<la:message key="labels.search_result_sort_favoriteCount_asc" />
+								</la:option>
+								<la:option value="favoriteCount_l_x_dv.desc">
+									<la:message key="labels.search_result_sort_favoriteCount_desc" />
+								</la:option>
 							</c:if>
-						</html:select>
-					</div>
-				</div>
-				<div class="clearfix">
-					<label for="contentLang"><bean:message
-							key="labels.index_lang" /></label>
-					<div class="input">
-						<html:select property="lang"
-							styleId="langSearchOption" multiple="true"
-							styleClass="span4">
+						</la:select>
+					</fieldset>
+					<fieldset class="form-group">
+						<label for="contentLang"><la:message
+								key="labels.index_lang" /></label>
+						<la:select property="lang" styleId="langSearchOption"
+							multiple="true" styleClass="form-control">
 							<c:forEach var="item" items="${langItems}">
-								<html:option value="${f:u(item.value)}">
+								<la:option value="${f:u(item.value)}">
 													${f:h(item.label)}
-												</html:option>
+												</la:option>
 							</c:forEach>
-						</html:select>
-					</div>
-				</div>
-				<c:if test="${displayLabelTypeItems}">
-					<div class="clearfix">
-						<label for="contentLabelType"><bean:message
-								key="labels.index_label" /></label>
-						<div class="input">
-							<html:select property="fields.label"
+						</la:select>
+					</fieldset>
+					<c:if test="${displayLabelTypeItems}">
+						<fieldset class="form-group">
+							<label for="contentLabelType"><la:message
+									key="labels.index_label" /></label>
+							<la:select property="fields.label"
 								styleId="labelTypeSearchOption" multiple="true"
-								styleClass="span4">
+								styleClass="form-control">
 								<c:forEach var="item" items="${labelTypeItems}">
-									<html:option value="${f:u(item.value)}">
+									<la:option value="${f:u(item.value)}">
 														${f:h(item.label)}
-													</html:option>
+													</la:option>
 								</c:forEach>
-							</html:select>
-						</div>
-					</div>
-				</c:if>
-			</fieldset>
-		</div>
-		<div class="modal-footer">
-			<button class="btn" id="searchOptionsClearButton">
-				<bean:message key="labels.search_options_clear" />
-			</button>
-			<button class="btn" data-dismiss="modal" aria-hidden="true">
-				<bean:message key="labels.search_options_close" />
-			</button>
-			<button class="btn btn-primary" type="submit">
-				<bean:message key="labels.search" />
-			</button>
+							</la:select>
+						</fieldset>
+					</c:if>
+				</div>
+				<div class="modal-footer">
+					<button class="btn btn-secondary" id="searchOptionsClearButton">
+						<la:message key="labels.search_options_clear" />
+					</button>
+					<button class="btn btn-secondary" data-dismiss="modal"
+						aria-hidden="true">
+						<la:message key="labels.search_options_close" />
+					</button>
+					<button class="btn btn-primary" type="submit">
+						<la:message key="labels.search" />
+					</button>
+				</div>
+			</div>
 		</div>
 	</div>
-</s:form>
+	<!--  /.modal -->
+</la:form>
 

+ 3 - 3
src/main/webapp/WEB-INF/orig/view/help.jsp

@@ -6,7 +6,7 @@
 <meta http-equiv="content-style-type" content="text/css" />
 <meta http-equiv="content-script-type" content="text/javascript" />
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<title><bean:message key="labels.search_title" /></title>
+<title><la:message key="labels.search_title" /></title>
 <link href="${f:url('/css/style-base.css')}" rel="stylesheet"
 	type="text/css" />
 <link href="${f:url('/css/style.css')}" rel="stylesheet" type="text/css" />
@@ -22,13 +22,13 @@
 			</div>
 		</div>
 		<p class="pull-right move-to-top">
-			<a href="#"><bean:message key="labels.footer_back_to_top" /></a>
+			<a href="#"><la:message key="labels.footer_back_to_top" /></a>
 		</p>
 		<jsp:include page="footer.jsp" />
 	</div>
 	<input type="hidden" id="contextPath" value="<%=request.getContextPath()%>" />
 	<script type="text/javascript"
-		src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
+		src="${f:url('/js/jquery-2.1.4.min.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/bootstrap.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/suggestor.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/help.js')}"></script>

+ 158 - 148
src/main/webapp/WEB-INF/orig/view/index.jsp

@@ -3,215 +3,225 @@
 <html>
 <head profile="http://a9.com/-/spec/opensearch/1.1/">
 <meta charset="utf-8">
-<meta http-equiv="content-style-type" content="text/css" />
-<meta http-equiv="content-script-type" content="text/javascript" />
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-<title><bean:message key="labels.search_title" /></title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="x-ua-compatible" content="ie=edge">
+<title><la:message key="labels.search_title" /></title>
 <c:if test="${osddLink}">
 	<link rel="search" type="application/opensearchdescription+xml"
 		href="${f:url('/osdd')}"
-		title="<bean:message key="labels.index_osdd_title" />" />
+		title="<la:message key="labels.index_osdd_title" />" />
 </c:if>
 <link href="${f:url('/css/style-base.css')}" rel="stylesheet"
 	type="text/css" />
 <link href="${f:url('/css/style.css')}" rel="stylesheet" type="text/css" />
+<link href="${f:url('/css/admin/font-awesome.min.css')}"
+	rel="stylesheet" type="text/css" />
 </head>
 <body>
-	<div class="navbar navbar-inverse navbar-fixed-top">
-		<div class="navbar-inner">
-			<div class="container">
-				<p class="navbar-text pull-right">
-					<c:if test="${!empty username}">
-					<s:link href="/login/logout" styleClass="logout-link">
-						<bean:message key="labels.logout" />
-					</s:link>
-					</c:if>
-					<s:link href="/help" styleClass="help-link">
-						<bean:message key="labels.index_help" />
-					</s:link>
-				</p>
-			</div>
+	<nav class="navbar navbar-dark bg-inverse navbar-static-top pos-f-t">
+		<div class="container">
+			<ul class="nav navbar-nav pull-right">
+				<c:if test="${!empty username && username != 'guest'}">
+					<li class="nav-item">
+						<div class="dropdown">
+							<a class="nav-link dropdown-toggle" data-toggle="dropdown"
+								href="#" role="button" aria-haspopup="true"
+								aria-expanded="false"> <i class="fa fa-user"></i>${username}
+							</a>
+							<div class="dropdown-menu" aria-labelledby="userMenu">
+								<la:link href="/logout" styleClass="dropdown-item">
+									<la:message key="labels.logout" />
+								</la:link>
+							</div>
+						</div>
+					</li>
+				</c:if>
+				<li class="nav-item"><la:link href="/help"
+						styleClass="nav-link help-link">
+						<i class="fa fa-question-circle"></i>
+						<la:message key="labels.index_help" />
+					</la:link></li>
+			</ul>
 		</div>
-	</div>
+	</nav>
 	<div class="container">
-		<div class="row">
-			<div class="center searchFormBox">
+		<div class="row content">
+			<div class="center-block searchFormBox">
 				<h1 class="mainLogo">
 					<img src="${f:url('/images/logo.png')}"
-						alt="<bean:message key="labels.index_title" />" />
+						alt="<la:message key="labels.index_title" />" />
 				</h1>
 				<div>
-					<html:messages id="msg" message="true">
-						<div class="alert-message info">
-							<bean:write name="msg" ignore="true" />
-						</div>
-					</html:messages>
-					<html:errors header="errors.front_header"
+					<la:info id="msg" message="true">
+						<div class="alert-message info">${msg}</div>
+					</la:info>
+					<la:errors header="errors.front_header"
 						footer="errors.front_footer" prefix="errors.front_prefix"
 						suffix="errors.front_suffix" />
 				</div>
-				<s:form styleClass="form-stacked" action="search" method="get"
+				<la:form styleClass="form-stacked" action="search" method="get"
 					styleId="searchForm">
 					${fe:facetForm()}${fe:geoForm()}
 					<fieldset>
 						<div class="clearfix">
 							<div class="input">
-								<html:text styleClass="query" property="query" size="50"
-									maxlength="1000" styleId="contentQuery" autocomplete="off" />
+								<la:text styleClass="query form-control center-block"
+									property="query" size="50" maxlength="1000"
+									styleId="contentQuery" autocomplete="off" />
 							</div>
 						</div>
 						<c:if test="${fe:hswsize(null) != 0}">
 							<div>
 								<p class="hotSearchWordBody ellipsis">
-									<bean:message key="labels.search_hot_search_word" />
+									<la:message key="labels.search_hot_search_word" />
 									<c:forEach var="item" items="${fe:hsw(null, 5)}">
-										<html:link href="search?query=${f:u(item)}${fe:facetQuery()}${fe:geoQuery()}">${f:h(item)}</html:link>
+										<la:link
+											href="/search/search?query=${f:u(item)}${fe:facetQuery()}${fe:geoQuery()}">${f:h(item)}</la:link>
 									</c:forEach>
 								</p>
 							</div>
 						</c:if>
-						<div class="clearfix searchButtonBox">
+						<div class="clearfix searchButtonBox btn-group">
 							<button type="submit" name="search" id="searchButton"
 								class="btn btn-primary">
-								<bean:message key="labels.index_form_search_btn" />
+								<i class="fa fa-search"></i>
+								<la:message key="labels.index_form_search_btn" />
+							</button>
+							<button type="button" class="btn btn-secondary"
+								data-toggle="modal" data-target="#searchOptions">
+								<i class="fa fa-cog"></i>
+								<la:message key="labels.index_form_option_btn" />
 							</button>
-							<a href="#searchOptions" role="button" class="btn"
-								data-toggle="modal"><bean:message
-									key="labels.index_form_option_btn" /></a>
 						</div>
 					</fieldset>
-					<div class="modal hide fade" id="searchOptions">
-						<div class="modal-header">
-							<button type="button" class="close" data-dismiss="modal"
-								aria-hidden="true">&times;</button>
-							<h3>
-								<bean:message key="labels.search_options" />
-							</h3>
-						</div>
-						<div class="modal-body">
-							<fieldset>
-								<div class="clearfix">
-									<label for="contentNum"><bean:message
-											key="labels.index_num" /></label>
-									<div class="input">
-										<html:select property="num" styleId="numSearchOption"
-											styleClass="span4" style="display:block;">
+					<div class="modal fade" id="searchOptions" tabindex="-1"
+						role="dialog" aria-labelledby="searchOptionsLabel"
+						aria-hidden="true">
+						<div class="modal-dialog" role="document">
+							<div class="modal-content">
+								<div class="modal-header">
+									<button type="button" class="close" data-dismiss="modal"
+										aria-label="Close">
+										<span aria-hidden="true">&times;</span> <span class="sr-only">Close</span>
+									</button>
+									<h4 class="modal-title" id="searchOptionsLabel">
+										<la:message key="labels.search_options" />
+									</h4>
+								</div>
+								<div class="modal-body">
+									<fieldset class="form-group">
+										<label for="contentNum"><la:message
+												key="labels.index_num" /></label>
+										<la:select property="num" styleId="numSearchOption"
+											styleClass="form-control" style="display:block;">
 											<option value="">
-												<bean:message key="labels.search_result_select_num" />
+												<la:message key="labels.search_result_select_num" />
 											</option>
-											<html:option value="10">10</html:option>
-											<html:option value="20">20</html:option>
-											<html:option value="30">30</html:option>
-											<html:option value="40">40</html:option>
-											<html:option value="50">50</html:option>
-											<html:option value="100">100</html:option>
-										</html:select>
-									</div>
-								</div>
-								<div class="clearfix">
-									<label for="contentSort"><bean:message
-											key="labels.index_sort" /></label>
-									<div class="input">
-										<html:select property="sort" styleId="sortSearchOption"
-											styleClass="span4" style="display:block;">
+											<la:option value="10">10</la:option>
+											<la:option value="20">20</la:option>
+											<la:option value="30">30</la:option>
+											<la:option value="40">40</la:option>
+											<la:option value="50">50</la:option>
+											<la:option value="100">100</la:option>
+										</la:select>
+									</fieldset>
+									<fieldset class="form-group">
+										<label for="contentSort"><la:message
+												key="labels.index_sort" /></label>
+										<la:select property="sort" styleId="sortSearchOption"
+											styleClass="form-control" style="display:block;">
 											<option value="">
-												<bean:message key="labels.search_result_select_sort" />
+												<la:message key="labels.search_result_select_sort" />
 											</option>
-											<html:option value="created.asc">
-												<bean:message key="labels.search_result_sort_created_asc" />
-											</html:option>
-											<html:option value="created.desc">
-												<bean:message key="labels.search_result_sort_created_desc" />
-											</html:option>
-											<html:option value="contentLength.asc">
-												<bean:message
+											<la:option value="created.asc">
+												<la:message key="labels.search_result_sort_created_asc" />
+											</la:option>
+											<la:option value="created.desc">
+												<la:message key="labels.search_result_sort_created_desc" />
+											</la:option>
+											<la:option value="contentLength.asc">
+												<la:message
 													key="labels.search_result_sort_contentLength_asc" />
-											</html:option>
-											<html:option value="contentLength.desc">
-												<bean:message
+											</la:option>
+											<la:option value="contentLength.desc">
+												<la:message
 													key="labels.search_result_sort_contentLength_desc" />
-											</html:option>
-											<html:option value="lastModified.asc">
-												<bean:message
-													key="labels.search_result_sort_lastModified_asc" />
-											</html:option>
-											<html:option value="lastModified.desc">
-												<bean:message
+											</la:option>
+											<la:option value="lastModified.asc">
+												<la:message key="labels.search_result_sort_lastModified_asc" />
+											</la:option>
+											<la:option value="lastModified.desc">
+												<la:message
 													key="labels.search_result_sort_lastModified_desc" />
-											</html:option>
+											</la:option>
 											<c:if test="${searchLogSupport}">
-											<html:option value="clickCount_l_x_dv.asc">
-												<bean:message
-													key="labels.search_result_sort_clickCount_asc" />
-											</html:option>
-											<html:option value="clickCount_l_x_dv.desc">
-												<bean:message
-													key="labels.search_result_sort_clickCount_desc" />
-											</html:option>
-											</c:if><c:if test="${favoriteSupport}">
-											<html:option value="favoriteCount_l_x_dv.asc">
-												<bean:message
-													key="labels.search_result_sort_favoriteCount_asc" />
-											</html:option>
-											<html:option value="favoriteCount_l_x_dv.desc">
-												<bean:message
-													key="labels.search_result_sort_favoriteCount_desc" />
-											</html:option>
+												<la:option value="clickCount_l_x_dv.asc">
+													<la:message key="labels.search_result_sort_clickCount_asc" />
+												</la:option>
+												<la:option value="clickCount_l_x_dv.desc">
+													<la:message key="labels.search_result_sort_clickCount_desc" />
+												</la:option>
 											</c:if>
-										</html:select>
-									</div>
-								</div>
-								<div class="clearfix">
-									<label for="contentLang"><bean:message
-											key="labels.index_lang" /></label>
-									<div class="input">
-										<html:select property="lang"
-											styleId="langSearchOption" multiple="true"
-											styleClass="span4">
+											<c:if test="${favoriteSupport}">
+												<la:option value="favoriteCount_l_x_dv.asc">
+													<la:message
+														key="labels.search_result_sort_favoriteCount_asc" />
+												</la:option>
+												<la:option value="favoriteCount_l_x_dv.desc">
+													<la:message
+														key="labels.search_result_sort_favoriteCount_desc" />
+												</la:option>
+											</c:if>
+										</la:select>
+									</fieldset>
+									<fieldset class="form-group">
+										<label for="contentLang"><la:message
+												key="labels.index_lang" /></label>
+										<la:select property="lang" styleId="langSearchOption"
+											multiple="true" styleClass="form-control">
 											<c:forEach var="item" items="${langItems}">
-												<html:option value="${f:u(item.value)}">
+												<la:option value="${f:u(item.value)}">
 																	${f:h(item.label)}
-																</html:option>
+																</la:option>
 											</c:forEach>
-										</html:select>
-									</div>
-								</div>
-								<c:if test="${displayLabelTypeItems}">
-									<div class="clearfix">
-										<label for="contentLabelType"><bean:message
-												key="labels.index_label" /></label>
-										<div class="input">
-											<html:select property="fields.label"
+										</la:select>
+									</fieldset>
+									<c:if test="${displayLabelTypeItems}">
+										<fieldset class="form-group">
+											<label for="contentLabelType"><la:message
+													key="labels.index_label" /></label>
+											<la:select property="fields.label"
 												styleId="labelTypeSearchOption" multiple="true"
-												styleClass="span4">
+												styleClass="form-control">
 												<c:forEach var="item" items="${labelTypeItems}">
-													<html:option value="${f:u(item.value)}">
+													<la:option value="${f:u(item.value)}">
 														${f:h(item.label)}
-													</html:option>
+													</la:option>
 												</c:forEach>
-											</html:select>
-										</div>
-									</div>
-								</c:if>
-							</fieldset>
-						</div>
-						<div class="modal-footer">
-							<button class="btn" id="searchOptionsClearButton">
-								<bean:message key="labels.search_options_clear" />
-							</button>
-							<button class="btn" data-dismiss="modal" aria-hidden="true">
-								<bean:message key="labels.search_options_close" />
-							</button>
+											</la:select>
+										</fieldset>
+									</c:if>
+								</div>
+								<div class="modal-footer">
+									<button class="btn btn-secondary" id="searchOptionsClearButton">
+										<la:message key="labels.search_options_clear" />
+									</button>
+									<button class="btn btn-secondary" data-dismiss="modal">
+										<la:message key="labels.search_options_close" />
+									</button>
+								</div>
+							</div>
 						</div>
 					</div>
-				</s:form>
+				</la:form>
 			</div>
 		</div>
 		<jsp:include page="footer.jsp" />
 	</div>
-	<input type="hidden" id="contextPath" value="<%=request.getContextPath()%>" />
+	<input type="hidden" id="contextPath"
+		value="<%=request.getContextPath()%>" />
 	<script type="text/javascript"
-		src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
+		src="${f:url('/js/jquery-2.1.4.min.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/bootstrap.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/suggestor.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/index.js')}"></script>

+ 68 - 68
src/main/webapp/WEB-INF/orig/view/search.jsp

@@ -3,97 +3,96 @@
 <html>
 <head profile="http://a9.com/-/spec/opensearch/1.1/">
 <meta charset="utf-8">
-<meta http-equiv="content-style-type" content="text/css" />
-<meta http-equiv="content-script-type" content="text/javascript" />
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-<title>${f:h(displayQuery)} - <bean:message
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="x-ua-compatible" content="ie=edge">
+<title>${f:h(displayQuery)}-<la:message
 		key="labels.search_title" /></title>
 <c:if test="${osddLink}">
 	<link rel="search" type="application/opensearchdescription+xml"
 		href="${f:url('/osdd')}"
-		title="<bean:message key="labels.index_osdd_title" />" />
+		title="<la:message key="labels.index_osdd_title" />" />
 </c:if>
 <link href="${f:url('/css/style-base.css')}" rel="stylesheet"
 	type="text/css" />
 <link href="${f:url('/css/style.css')}" rel="stylesheet" type="text/css" />
+<link href="${f:url('/css/admin/font-awesome.min.css')}"
+	rel="stylesheet" type="text/css" />
 </head>
 <body>
 	<jsp:include page="header.jsp" />
 	<div class="container">
 		<div class="row">
-			<div class="span9">
+			<div class="col-md-9">
 				<p id="searchOptionMenu">
-					<span>
-						<bean:message key="labels.searchoptions_menu_sort" />
-						<a href="#searchOptions" data-toggle="modal">
-						<c:if test="${empty sort}"><bean:message key="labels.searchoptions_score" /></c:if>
-						<c:if test="${sort=='created.asc'}"><bean:message key="labels.search_result_sort_created_asc" /></c:if>
-						<c:if test="${sort=='created.desc'}"><bean:message key="labels.search_result_sort_created_desc" /></c:if>
-						<c:if test="${sort=='contentLength.asc'}"><bean:message key="labels.search_result_sort_contentLength_asc" /></c:if>
-						<c:if test="${sort=='contentLength.desc'}"><bean:message key="labels.search_result_sort_contentLength_desc" /></c:if>
-						<c:if test="${sort=='lastModified.asc'}"><bean:message key="labels.search_result_sort_lastModified_asc" /></c:if>
-						<c:if test="${sort=='lastModified.desc'}"><bean:message key="labels.search_result_sort_lastModified_desc" /></c:if>
-						<c:if test="${sort=='clickCount_l_x_dv.asc'}"><bean:message key="labels.search_result_sort_clickCount_asc" /></c:if>
-						<c:if test="${sort=='clickCount_l_x_dv.desc'}"><bean:message key="labels.search_result_sort_clickCount_desc" /></c:if>
-						<c:if test="${sort=='favoriteCount_l_x_dv.asc'}"><bean:message key="labels.search_result_sort_favoriteCount_asc" /></c:if>
-						<c:if test="${sort=='favoriteCount_l_x_dv.desc'}"><bean:message key="labels.search_result_sort_favoriteCount_desc" /></c:if>
-						</a>
-					</span>
-					<span>
-						<bean:message key="labels.searchoptions_menu_num" />
-						<a href="#searchOptions" data-toggle="modal">
-						<bean:message key="labels.searchoptions_num" arg0="${f:h(num)}" />
-						</a>
-					</span>
-					<span>
-						<bean:message key="labels.searchoptions_menu_lang" />
-						<a href="#searchOptions" data-toggle="modal">
-						<c:if test="${empty lang}"><bean:message key="labels.searchoptions_all" /></c:if>
-						<c:if test="${!empty lang}">
-							<c:forEach var="sLang" items="${lang}">
-								<c:forEach var="item" items="${langItems}">
-									<c:if test="${item.value==sLang}">${f:h(item.label)}</c:if>
+					<span> <la:message key="labels.searchoptions_menu_sort" />
+						<a href="#searchOptions" data-toggle="modal"> <c:if
+								test="${empty sort}">
+								<la:message key="labels.searchoptions_score" />
+							</c:if> <c:if test="${sort=='created.asc'}">
+								<la:message key="labels.search_result_sort_created_asc" />
+							</c:if> <c:if test="${sort=='created.desc'}">
+								<la:message key="labels.search_result_sort_created_desc" />
+							</c:if> <c:if test="${sort=='contentLength.asc'}">
+								<la:message key="labels.search_result_sort_contentLength_asc" />
+							</c:if> <c:if test="${sort=='contentLength.desc'}">
+								<la:message key="labels.search_result_sort_contentLength_desc" />
+							</c:if> <c:if test="${sort=='lastModified.asc'}">
+								<la:message key="labels.search_result_sort_lastModified_asc" />
+							</c:if> <c:if test="${sort=='lastModified.desc'}">
+								<la:message key="labels.search_result_sort_lastModified_desc" />
+							</c:if> <c:if test="${sort=='clickCount_l_x_dv.asc'}">
+								<la:message key="labels.search_result_sort_clickCount_asc" />
+							</c:if> <c:if test="${sort=='clickCount_l_x_dv.desc'}">
+								<la:message key="labels.search_result_sort_clickCount_desc" />
+							</c:if> <c:if test="${sort=='favoriteCount_l_x_dv.asc'}">
+								<la:message key="labels.search_result_sort_favoriteCount_asc" />
+							</c:if> <c:if test="${sort=='favoriteCount_l_x_dv.desc'}">
+								<la:message key="labels.search_result_sort_favoriteCount_desc" />
+							</c:if>
+					</a>
+					</span> <span> <la:message key="labels.searchoptions_menu_num" />
+						<a href="#searchOptions" data-toggle="modal"> <la:message
+								key="labels.searchoptions_num" arg0="${f:h(num)}" />
+					</a>
+					</span> <span> <la:message key="labels.searchoptions_menu_lang" />
+						<a href="#searchOptions" data-toggle="modal"> <c:if
+								test="${empty lang}">
+								<la:message key="labels.searchoptions_all" />
+							</c:if> <c:if test="${!empty lang}">
+								<c:forEach var="sLang" items="${lang}">
+									<c:forEach var="item" items="${langItems}">
+										<c:if test="${item.value==sLang}">${f:h(item.label)}</c:if>
+									</c:forEach>
 								</c:forEach>
-							</c:forEach>
-						</c:if>
-						</a>
+							</c:if>
+					</a>
 					</span>
 					<c:if test="${displayLabelTypeItems}">
-					<span>
-						<bean:message key="labels.searchoptions_menu_labels" />
-						<a href="#searchOptions" data-toggle="modal">
-						<c:if test="${empty fields.label}"><bean:message key="labels.searchoptions_all" /></c:if>
-						<c:if test="${!empty fields.label}">
-							<c:forEach var="sLabel" items="${fields.label}">
-								<c:forEach var="item" items="${labelTypeItems}">
-									<c:if test="${item.value==sLabel}">${f:h(item.label)}</c:if>
-								</c:forEach>
-							</c:forEach>
-						</c:if>
+						<span> <la:message key="labels.searchoptions_menu_labels" />
+							<a href="#searchOptions" data-toggle="modal"> <c:if
+									test="${empty fields.label}">
+									<la:message key="labels.searchoptions_all" />
+								</c:if> <c:if test="${!empty fields.label}">
+									<c:forEach var="sLabel" items="${fields.label}">
+										<c:forEach var="item" items="${labelTypeItems}">
+											<c:if test="${item.value==sLabel}">${f:h(item.label)}</c:if>
+										</c:forEach>
+									</c:forEach>
+								</c:if>
 						</a>
-					</span>
+						</span>
 					</c:if>
 				</p>
 			</div>
-			<div class="span3">
-				<c:if test="${!empty username}">
-				<p class="username">
-					<bean:message key="labels.searchheader_username" arg0="${f:h(username)}" />
-					|
-					<s:link href="/login/logout" styleClass="logout-link">
-						<bean:message key="labels.logout" />
-					</s:link>
-				</p>
-				</c:if>
-			</div>
 		</div>
 		<c:if test="${fe:hswsize(null) != 0}">
 			<div class="row">
-				<div class="span12">
+				<div class="col-md-12">
 					<p class="hotSearchWordBody ellipsis">
-						<bean:message key="labels.search_hot_search_word" />
+						<la:message key="labels.search_hot_search_word" />
 						<c:forEach var="item" items="${fe:hsw(null, 5)}">
-							<html:link href="search?query=${f:u(item)}${fe:facetQuery()}${fe:geoQuery()}">${f:h(item)}</html:link>
+							<la:link
+								href="/search/search?query=${f:u(item)}${fe:facetQuery()}${fe:geoQuery()}">${f:h(item)}</la:link>
 						</c:forEach>
 					</p>
 				</div>
@@ -103,7 +102,7 @@
 			<c:when test="${f:h(allRecordCount) != 0}">
 				<jsp:include page="searchResults.jsp" />
 				<p class="pull-right move-to-top">
-					<a href="#"><bean:message key="labels.footer_back_to_top" /></a>
+					<a href="#"><la:message key="labels.footer_back_to_top" /></a>
 				</p>
 			</c:when>
 			<c:otherwise>
@@ -112,9 +111,10 @@
 		</c:choose>
 		<jsp:include page="footer.jsp" />
 	</div>
-	<input type="hidden" id="contextPath" value="<%=request.getContextPath()%>" />
+	<input type="hidden" id="contextPath"
+		value="<%=request.getContextPath()%>" />
 	<script type="text/javascript"
-		src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
+		src="${f:url('/js/jquery-2.1.4.min.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/bootstrap.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/suggestor.js')}"></script>
 	<script type="text/javascript" src="${f:url('/js/search.js')}"></script>

+ 3 - 3
src/main/webapp/WEB-INF/orig/view/searchNoResult.jsp

@@ -1,8 +1,8 @@
 <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
 <%-- query did not match any document --%>
 <div id="result" class="row">
-	<div class="span8 alert">
-			<bean:message key="labels.did_not_match" arg0="${f:h(displayQuery)}" />
+	<div class="col-md-8 alert">
+			<la:message key="labels.did_not_match" arg0="${f:h(displayQuery)}" />
 	</div>
-	<div class="span4"><%-- Side Content --%></div>
+	<div class="col-md-4"><%-- Side Content --%></div>
 </div>

+ 84 - 73
src/main/webapp/WEB-INF/orig/view/searchResults.jsp

@@ -1,14 +1,14 @@
 <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
 <%-- query matched some document --%>
 <div id="subheader" class="row">
-	<div class="span12">
+	<div class="col-md-12">
 		<p>
-			<bean:message key="labels.search_result_status"
+			<la:message key="labels.search_result_status"
 				arg0="${f:h(displayQuery)}" arg1="${f:h(allRecordCount)}"
 				arg2="${f:h(currentStartRecordNumber)}"
 				arg3="${f:h(currentEndRecordNumber)}" />
 			<c:if test="${execTime!=null}">
-				<bean:message key="labels.search_result_time"
+				<la:message key="labels.search_result_time"
 					arg0="${f:h(execTime)}" />
 			</c:if>
 		</p>
@@ -17,59 +17,59 @@
 <c:if test="${partialResults}">
 	<div class="alert">
 		<p>
-			<bean:message key="errors.process_time_is_exceeded" />
+			<la:message key="errors.process_time_is_exceeded" />
 		</p>
 	</div>
 </c:if>
 <div id="result" class="row content">
 	<input type="hidden" id="queryId" value="${f:u(queryId)}" />
-	<input type="hidden" id="rt" value="${f:u(rt)}" />
-	<div class="span8">
+	<input type="hidden" id="rt" value="${f:u(requestedTime)}" />
+	<div class="col-md-8">
 		<ol>
 			<c:forEach var="doc" varStatus="s" items="${documentItems}">
 				<li id="result${s.index}">
 					<h3 class="title ellipsis">
-						<a class="link" href="${doc.urlLink}" data-uri="${doc.urlLink}" data-id="${doc.docId}">${f:h(doc.contentTitle)}</a>
+						<a class="link" href="${doc.urlLink}" data-uri="${doc.urlLink}" data-id="${doc.doc_id}" data-order="${s.index}">${f:h(doc.contentTitle)}</a>
 					</h3>
 					<div class="body">
 						<div class="description">${doc.contentDescription}</div>
 						<div class="site ellipsis">
 							<cite>${f:h(doc.sitePath)}</cite>
-							<c:if test="${doc.hasCache_s_s=='true'}">
-								<a href="cache?docId=${doc.docId}${appendHighlightQueries}" class="cache"><bean:message
-										key="labels.search_result_cache" /></a>
+							<c:if test="${doc.has_cache=='true'}">
+								<la:link href="/cache/?docId=${doc.doc_id}${appendHighlightParams}" class="cache"><la:message
+										key="labels.search_result_cache" /></la:link>
 							</c:if>
 						</div>
 						<div class="more visible-phone">
-							<a href="#result${s.index}"><bean:message key="labels.search_result_more" /></a>
+							<a href="#result${s.index}"><la:message key="labels.search_result_more" /></a>
 						</div>
 						<div class="info">
 							<c:if test="${doc.created!=null && doc.created!=''}">
 								<c:set var="hasInfo" value="true"/>
-								<bean:message key="labels.search_result_created" />
+								<la:message key="labels.search_result_created" />
 								<fmt:formatDate value="${fe:parseDate(doc.created)}" type="BOTH" />
 							</c:if>
-							<c:if test="${doc.lastModified!=null && doc.lastModified!=''}">
+							<c:if test="${doc.last_modified!=null && doc.last_modified!=''}">
 								<c:if test="${hasInfo}"><span class="br-phone"></span><span class="hidden-phone">-</span></c:if><c:set var="hasInfo" value="true"/>
-								<bean:message key="labels.search_result_lastModified" />
-								<fmt:formatDate value="${fe:parseDate(doc.lastModified)}" type="BOTH" />
+								<la:message key="labels.search_result_last_modified" />
+								<fmt:formatDate value="${fe:parseDate(doc.last_modified)}" type="BOTH" />
 							</c:if>
-							<c:if test="${doc.contentLength!=null && doc.contentLength!=''}">
+							<c:if test="${doc.content_length!=null && doc.content_length!=''}">
 								<c:if test="${hasInfo}"><span class="br-phone"></span><span class="hidden-phone">-</span></c:if><c:set var="hasInfo" value="true"/>
-								<bean:message key="labels.search_result_size"
-									arg0="${f:h(doc.contentLength)}" />
+								<la:message key="labels.search_result_size"
+									arg0="${f:h(doc.content_length)}" />
 							</c:if>
 							<c:if test="${searchLogSupport}">
 								<c:if test="${hasInfo}"><span class="br-phone"></span><span class="hidden-phone">-</span></c:if><c:set var="hasInfo" value="true"/>
-								<bean:message key="labels.search_click_count"
-									arg0="${f:h(doc.clickCount_l_x_dv)}" />
+								<la:message key="labels.search_click_count"
+									arg0="${f:h(doc.click_count)}" />
 							</c:if>
 							<c:if test="${favoriteSupport}">
 								<c:if test="${hasInfo}"><span class="br-phone"></span><span class="hidden-phone">-</span></c:if><c:set var="hasInfo" value="true"/>
-								<a href="#${doc.docId}" class="favorite"><bean:message
-										key="labels.search_result_favorite" /> (${f:h(doc.favoriteCount_l_x_dv)})</a>
-								<span class="favorited"><bean:message
-										key="labels.search_result_favorited"/> <span class="favorited-count">(${f:h(doc.favoriteCount_l_x_dv)})</span></span>
+								<a href="#${doc.doc_id}" class="favorite"><la:message
+										key="labels.search_result_favorite" /> (${f:h(doc.favorite_count)})</a>
+								<span class="favorited"><la:message
+										key="labels.search_result_favorited"/> <span class="favorited-count">(${f:h(doc.favorite_count)})</span></span>
 							</c:if>
 						</div>
 					</div>
@@ -77,81 +77,92 @@
 			</c:forEach>
 		</ol>
 	</div>
-	<div class="span4 visible-desktop visible-tablet">
+	<div class="col-md-4 visible-desktop visible-tablet">
 		<%-- Side Content --%>
 		<c:if test="${screenShotSupport}">
 			<div id="screenshot"></div>
 		</c:if>
 		<c:if test="${facetResponse != null}">
-			<div class="well span3">
-				<ul class="nav nav-list">
-					<c:forEach var="fieldData" items="${facetResponse.fieldList}">
-						<c:if test="${fieldData.name == 'label' && fieldData.valueCountMap.size() > 0}">
-					<li class="nav-header"><bean:message key="label.facet_label_title" /></li>
-							<c:forEach var="countEntry" items="${fieldData.valueCountMap}">
-								<c:if test="${countEntry.value != 0 && fe:labelexists(countEntry.key)}">
-					<li><s:link
-							href="search?query=${f:u(query)}&additional=label:${f:u(countEntry.key)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}">
-							${f:h(fe:label(countEntry.key))} (${f:h(countEntry.value)})</s:link></li>
-								</c:if>
-							</c:forEach>
-						</c:if>
-					</c:forEach>
-					<c:forEach var="facetQueryView" items="${fe:facetQueryViewList()}">
-					<li class="nav-header"><bean:message key="${facetQueryView.title}" /></li>
-						<c:forEach var="queryEntry" items="${facetQueryView.queryMap}">
-								<c:if test="${facetResponse.queryCountMap[queryEntry.value] != 0}">
-					<li><s:link
-							href="search?query=${f:u(query)}&additional=${f:u(queryEntry.value)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}">
-							<bean:message key="${queryEntry.key}" /> (${f:h(facetResponse.queryCountMap[queryEntry.value])})</s:link></li>
-								</c:if>
+			<c:forEach var="fieldData" items="${facetResponse.fieldList}">
+				<c:if test="${fieldData.name == 'label' && fieldData.valueCountMap.size() > 0}">
+					<ul class="list-group m-b">
+						<li class="list-group-item text-uppercase"><la:message key="labels.facet_label_title" /></li>
+						<c:forEach var="countEntry" items="${fieldData.valueCountMap}">
+							<c:if test="${countEntry.value != 0 && fe:labelexists(countEntry.key)}">
+								<li class="list-group-item"><la:link
+										href="/search/search?query=${f:u(query)}&additional=label%3a${f:u(countEntry.key)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}"
+									>
+											${f:h(fe:label(countEntry.key))} 
+											<span class="label label-default label-pill pull-right">${f:h(countEntry.value)}</span>
+									</la:link></li>
+							</c:if>
 						</c:forEach>
+					</ul>
+				</c:if>
+			</c:forEach>
+			<c:forEach var="facetQueryView" items="${fe:facetQueryViewList()}">
+				<ul class="list-group m-b">
+					<li class="list-group-item text-uppercase"><la:message key="${facetQueryView.title}" /></li>
+					<c:forEach var="queryEntry" items="${facetQueryView.queryMap}">
+						<c:if test="${facetResponse.queryCountMap[queryEntry.value] != 0}">
+							<li class="list-group-item p-l-md"><la:link
+									href="/search/search?query=${f:u(query)}&additional=${f:u(queryEntry.value)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}"
+								>
+									<la:message key="${queryEntry.key}" />
+									<span class="label label-default label-pill pull-right">${f:h(facetResponse.queryCountMap[queryEntry.value])}</span>
+								</la:link></li>
+						</c:if>
 					</c:forEach>
 				</ul>
-				<c:if test="${!empty additional}">
-				<ul class="nav nav-list">
-					<li class="reset">
-						<s:link
-							href="search?query=${f:u(query)}"><bean:message key="label.facet_label_reset" /></s:link>
-					</li>
-				</ul>
-				</c:if>
-			</div>
+			</c:forEach>
+			<c:if test="${!empty additional}">
+				<div class="pull-right">
+					<la:link href="/search/search?query=${f:u(query)}" styleClass="btn btn-secondary btn-sm">
+						<la:message key="labels.facet_label_reset" />
+					</la:link>
+				</div>
+			</c:if>
 		</c:if>
 	</div>
 </div>
 <div class="row center">
-	<div id="subfooter" class="pagination">
-		<ul>
+	<nav id="subfooter">
+		<ul class="pagination">
 			<c:if test="${existPrevPage}">
-				<li class="prev"><s:link
-						href="prev?query=${f:u(query)}&pn=${f:u(currentPageNumber)}&num=${f:u(pageSize)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}">
-						<bean:message key="labels.prev_page" />
-					</s:link></li>
+				<li class="prev"><la:link aria-label="Previous"
+						href="/search/prev?query=${f:u(query)}&pn=${f:u(currentPageNumber)}&num=${f:u(pageSize)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}">
+					<span aria-hidden="true">&laquo;</span>
+					<span class="sr-only"><la:message key="labels.prev_page" /></span>
+				</la:link></li>
 			</c:if>
 			<c:if test="${!existPrevPage}">
-				<li class="prev disabled"><a href="#"><bean:message
-							key="labels.prev_page" /></a></li>
+				<li class="prev disabled" aria-label="Previous"><a href="#">
+					<span aria-hidden="true">&laquo;</span>
+					<span class="sr-only"><la:message key="labels.prev_page" /></span>
+				</a></li>
 			</c:if>
 			<c:forEach var="pageNumber" varStatus="s" items="${pageNumberList}">
 				<li
 					<c:if test="${pageNumber < currentPageNumber - 2 || pageNumber > currentPageNumber + 2}">class="hidden-phone"</c:if>
 					<c:if test="${pageNumber == currentPageNumber && pageNumber >= currentPageNumber - 2 && pageNumber <= currentPageNumber + 2}">class="active"</c:if>
 					>
-					<s:link
-						href="move?query=${f:u(query)}&pn=${f:u(pageNumber)}&num=${f:u(pageSize)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}">${f:h(pageNumber)}</s:link>
+					<la:link
+						href="/search/move?query=${f:u(query)}&pn=${f:u(pageNumber)}&num=${f:u(pageSize)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}">${f:h(pageNumber)}</la:link>
 				</li>
 			</c:forEach>
 			<c:if test="${existNextPage}">
-				<li class="next"><s:link
-						href="next?query=${f:u(query)}&pn=${f:u(currentPageNumber)}&num=${f:u(pageSize)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}">
-						<bean:message key="labels.next_page" />
-					</s:link></li>
+				<li class="next"><la:link aria-label="Next"
+						href="/search/next?query=${f:u(query)}&pn=${f:u(currentPageNumber)}&num=${f:u(pageSize)}${pagingQuery}${fe:facetQuery()}${fe:geoQuery()}">
+					<span class="sr-only"><la:message key="labels.next_page" /></span>
+					<span aria-hidden="true">&raquo;</span>
+				</la:link></li>
 			</c:if>
 			<c:if test="${!existNextPage}">
-				<li class="next disabled"><a href="#"><bean:message
-							key="labels.next_page" /></a></li>
+				<li class="next disabled" aria-label="Next"><a href="#">
+					<span class="sr-only"><la:message key="labels.next_page"/></span>
+					<span aria-hidden="true">&raquo;</span>
+				</a></li>
 			</c:if>
 		</ul>
-	</div>
+	</nav>
 </div>