1 2 3 24 package com.geinuke.module.wiki; 25 26 import java.util.ArrayList ; 27 import java.util.Locale ; 28 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 31 32 import org.apache.velocity.context.Context; 33 34 import com.geinuke.common.GlobalConfigurationI; 35 import com.geinuke.common.ModuleWidgetI; 36 import com.geinuke.common.NukeModuleI; 37 import com.geinuke.common.PageTool; 38 import com.geinuke.common.UserI; 39 import com.geinuke.middle.IWikiBL; 40 import com.geinuke.module.ModuleWriter; 41 import com.geinuke.servlet.GeiServlet; 42 import com.geinuke.util.NukeResource; 43 import com.geinuke.util.Paginator; 44 import com.geinuke.util.ServletUtil; 45 import com.geinuke.vo.ModuleDBVO; 46 47 public class SearchArticle extends AbstractListArticles implements ModuleWidgetI{ 48 49 protected ArrayList getResults(HttpServletRequest req,HttpServletResponse res)throws Exception { 50 ArrayList resp=null; 51 IWikiBL bbl=(IWikiBL)GeiServlet.getBL("IWikiBL"); 52 String words=req.getParameter("words"); 53 String mod=req.getParameter("mod"); 54 if(words==null || words.trim().equals("")){ 55 56 return new ArrayList (); 57 }else if(mod.equals("text")){ 58 resp=bbl.getWikiArticlesByText(words); 59 }else if(mod.equals("name")){ 60 resp=bbl.getWikiArticlesByName(words); 61 }else if(mod.equals("tt")){ 62 resp=bbl.getWikiArticlesByNameOrText(words); 63 } 64 65 return resp; 66 } 67 68 public NukeModuleI handleAction(ModuleDBVO module, Context ctx,HttpServletRequest req, HttpServletResponse res, UserI user, GlobalConfigurationI gConf) throws Exception { 69 String moduleTempName=null; 70 ArrayList arts=null; 71 72 arts=this.getResults(req,res); 73 74 GeiServlet.intLog(""+arts); 75 76 String pag=req.getParameter("wp"); 77 78 Paginator pager=new Paginator(arts,5,"Giki.jhtm?"+ServletUtil.getQueryString(req)); 79 if(pag!=null){ 80 arts=pager.getPage(Integer.parseInt(pag)); 81 }else{ 82 arts=pager.getPage(1); 83 } 84 85 Locale lo=NukeResource.getLocale(req,res); 87 88 if(req.getParameter("F")!=null) 90 ctx.put("notFirst","F"); 91 92 ctx.put("pageTool",new PageTool(lo)); 93 ctx.put("arts",arts); 94 ctx.put("pag",pager); 95 moduleTempName=gConf.getModulePage(module.getName(),req); 96 return ModuleWriter.fill(ctx,module,moduleTempName); 97 } 98 99 } 100 | Popular Tags |