searchdoccontroller.java
来自「Java的框架」· Java 代码 · 共 84 行
JAVA
84 行
package mcaps.core.docman.webapp.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.lucene.queryParser.ParseException;
import org.springframework.web.servlet.ModelAndView;
import mcap.core.base.webapp.controller.BaseController;
import mcap.core.search.model.PagedResultSet;
import mcap.core.search.service.SearchException;
import mcap.core.search.service.SearchManager;
import mcaps.core.docman.util.NameConstants;
/**
* This class extends Controller that will interacts with the
* SearchManager to handle request to search file info
* from index.
*
* @author Chan Chin Wei
* @date Jun 28, 2006
* @version 1.0.1.0
*/
public class SearchDocController extends BaseController {
private static final String SEARCH_VIEW = "core/docMan/searchDoc";
private SearchManager searchManager;
public void setSearchManager (SearchManager searchManager) {
this.searchManager = searchManager;
}
//===========================================================================================================
// @Override
protected ModelAndView handleRequestInternal (HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = null;
String query = request.getParameter ("query");
if (query != null && !query.equals("")) {
String searchPub = request.getParameter (NameConstants.DOC_SEARCH_PUB);
if (searchPub == null)
searchPub = "";
String pageSize = request.getParameter (NameConstants.DOC_SEARCH_PAGESIZE);
int ipageSize = 10; //set default 10
if (pageSize != null && !pageSize.equals(""))
ipageSize = Integer.parseInt(pageSize);
String pageIndex = request.getParameter (NameConstants.DOC_SEARCH_PAGEINDEX);
int ipageIndex = 0;
if (pageIndex != null && !pageIndex.equals(""))
ipageIndex = Integer.parseInt(pageIndex);
//need to add additional field search for searching published file
PagedResultSet prs = null;
try {
if (searchPub != null && !searchPub.equals("")) {
prs = searchManager.search(NameConstants.ROOT_FOLDER_NAME, query + " AND +additional." + searchPub + ":true",
ipageSize, ipageIndex);
}
else
prs = searchManager.search(NameConstants.ROOT_FOLDER_NAME, query, ipageSize, ipageIndex);
}
catch (SearchException e) {
Throwable ie = e.getCause();
if (ie instanceof ParseException)
saveError (request, "Unable to parse query string.");
}
mv = new ModelAndView (SEARCH_VIEW, NameConstants.DOC_SEARCH_RESULT, prs);
mv.addObject(NameConstants.DOC_SEARCH_PUB, searchPub);
mv.addObject(NameConstants.DOC_SEARCH_PAGESIZE, new Integer(ipageSize));
mv.addObject(NameConstants.DOC_SEARCH_PAGEINDEX, new Integer(ipageIndex));
if (searchPub != null && !searchPub.equals(""))
mv.addObject(NameConstants.DOC_SEARCH_URL_PREFIX, NameConstants.DOC_PUB);
else
mv.addObject(NameConstants.DOC_SEARCH_URL_PREFIX, NameConstants.DOC_ADMIN);
}
else {
mv = new ModelAndView (SEARCH_VIEW, NameConstants.DOC_SEARCH_RESULT, null);
}
return mv;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?