📄 search.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: Search.java
package com.laoer.bbscs.web.action;
import com.laoer.bbscs.sys.*;
import com.laoer.bbscs.web.form.SearchForm;
import com.laoer.bbscs.web.servlet.UserCheck;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.struts.action.*;
import org.apache.struts.util.MessageResources;
// Referenced classes of package com.laoer.bbscs.web.action:
// BaseAction
public class Search extends BaseAction
{
public Search()
{
}
public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
{
ActionErrors errors;
SearchForm form;
boolean error;
IndexSearcher searcher;
org.apache.lucene.search.Query query;
Hits hits;
int startindex;
int thispage;
errors = new ActionErrors();
form = (SearchForm)actionForm;
UserCheck uc = getUserCheck(httpServletRequest, httpServletResponse, Constant.MESSAGE.getMessage(httpServletRequest.getLocale(), "place.search"));
if(SysInfo.getInstance().getUseallsearch() != 0 && uc.isGuest())
{
errors.add("error.pleaselogin", new ActionError("error.pleaselogin"));
saveErrors(httpServletRequest, errors);
return SysUtil.getPassLogin(actionMapping);
}
error = false;
String indexName = SysUtil.getIndexPath();
searcher = null;
query = null;
hits = null;
startindex = form.getStartat();
int maxpage = form.getMaxresults();
thispage = 0;
try
{
searcher = new IndexSearcher(IndexReader.open(indexName));
}
catch(IOException ex)
{
error = true;
}
if(!error)
{
org.apache.lucene.analysis.Analyzer analyzer = new StandardAnalyzer();
try
{
query = QueryParser.parse(form.getQuery(), "contents", analyzer);
}
catch(ParseException ex1)
{
error = true;
}
}
if(error || searcher == null)
break MISSING_BLOCK_LABEL_252;
thispage = maxpage;
hits = searcher.search(query);
if(hits.length() != 0)
break MISSING_BLOCK_LABEL_252;
error = true;
errors.add("error.search.noresult", new ActionError("error.search.noresult"));
saveErrors(httpServletRequest, errors);
return actionMapping.findForward("error");
Exception e;
e;
e.printStackTrace();
error = true;
if(!error && searcher != null)
{
httpServletRequest.setAttribute("istartindex", new Integer(startindex));
httpServletRequest.setAttribute("ithispage", new Integer(thispage));
httpServletRequest.setAttribute("hits", hits);
httpServletRequest.setAttribute("queryString", form.getQuery());
return actionMapping.findForward("search");
} else
{
errors.add("error.search.noresult", new ActionError("error.search.noresult"));
saveErrors(httpServletRequest, errors);
return actionMapping.findForward("error");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -