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> 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 @@ - 10