From 56080ba5280c50e92d2077b9acf947ed1d317566 Mon Sep 17 00:00:00 2001 From: Shinsuke Sugaya <shinsuke@apache.org> Date: Thu, 15 Mar 2018 22:11:35 +0900 Subject: [PATCH] fix #1566 improve form.num in session --- .../org/codelibs/fess/app/web/base/FessSearchAction.java | 9 +++++++++ .../org/codelibs/fess/app/web/search/SearchAction.java | 2 +- src/main/webapp/WEB-INF/view/searchOptions.jsp | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java b/src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java index 5dbf9000b..d73fff57c 100644 --- a/src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java +++ b/src/main/java/org/codelibs/fess/app/web/base/FessSearchAction.java @@ -25,6 +25,7 @@ import java.util.Set; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; import org.apache.commons.text.StringEscapeUtils; import org.codelibs.core.lang.StringUtil; @@ -144,6 +145,14 @@ public abstract class FessSearchAction extends FessBaseAction { protected void buildFormParams(final SearchForm form) { + final HttpSession session = request.getSession(false); + if (session != null) { + final Object resultsPerPage = session.getAttribute(Constants.RESULTS_PER_PAGE); + if (resultsPerPage instanceof Integer) { + form.num = (Integer) resultsPerPage; + } + } + // label final List<Map<String, String>> labelTypeItems = labelTypeHelper.getLabelTypeItemList(SearchRequestType.SEARCH); diff --git a/src/main/java/org/codelibs/fess/app/web/search/SearchAction.java b/src/main/java/org/codelibs/fess/app/web/search/SearchAction.java index 5524ea9e5..aa08313dc 100644 --- a/src/main/java/org/codelibs/fess/app/web/search/SearchAction.java +++ b/src/main/java/org/codelibs/fess/app/web/search/SearchAction.java @@ -104,7 +104,7 @@ public class SearchAction extends FessSearchAction { if (viewHelper.isUseSession()) { LaRequestUtil.getOptionalRequest().ifPresent(request -> { final HttpSession session = request.getSession(false); - if (session != null) { + if (session != null && form.num != null) { session.setAttribute(Constants.RESULTS_PER_PAGE, form.num); } }); diff --git a/src/main/webapp/WEB-INF/view/searchOptions.jsp b/src/main/webapp/WEB-INF/view/searchOptions.jsp index 8985e2749..de7a78461 100755 --- a/src/main/webapp/WEB-INF/view/searchOptions.jsp +++ b/src/main/webapp/WEB-INF/view/searchOptions.jsp @@ -7,7 +7,7 @@ <label for="contentNum"><la:message key="labels.index_num" /></label> <la:select property="num" styleId="numSearchOption" styleClass="form-control"> - <option value=""> + <option value="10"> <la:message key="labels.search_result_select_num" /> </option> <la:option value="10">10</la:option> -- GitLab