lyyb2001

          只是為方便自己找記錄而已
          posts - 57, comments - 27, trackbacks - 0, articles - 5
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理

          Lucene:日志查詢(二)[查詢]

          Posted on 2007-03-05 09:06 skycity 閱讀(268) 評論(0)  編輯  收藏 所屬分類: APACHE開源項目

          我們創建一個查詢的界面search.jsp
          <%@ page contentType="text/html;charset=GBK"%>
          <%@ taglib uri="/struts-bean" prefix="bean" %>
          <%@ taglib uri="/struts-html" prefix="html" %>
          <%@ taglib uri="/struts-logic" prefix="logic" %>
          <%@ page import="java.util.*"%>
          <%@ page import="net.skycity.model.LogForm"%>
          <%@ page import="net.skycity.blog.LogManager"%>
          <style type="text/css">
          body {
          ?color: #333333;
          ?font-size: 11px;
          ?font-family: Tahoma, Verdana, sans-serif, "宋體";
          ?margin: 0px;
          ?padding: 0px;
          ?background-position: center top;
          }
          table {font: 12px Verdana, Tahoma, sans-serif, "宋體";}
          </style>


          <form action="search.do" focus="query">

          ? <tr>
          ??? <td>
          ????? <table width='100%' border='0' cellspacing='1' cellpadding='2'>
          ??????? <tr>
          ????????? <td align="left" bgcolor='#e2e2e2'>
          ????????? <font color="#000000">文章分類:</font>
          ????????? <select name="logTypeId">
          ????????? ??<option value="0">全部類別</option>
          ????????? ??<option value="1">JAVA</option>
          ??????????? ?<option value="2">AJAX</option>
          ????????????? ?<option value="3">STRUTS</option>
          ????????? </select>
          ????????? <font color="#000000">文章狀態:</font>
          ????????? <select name="state">
          ????????? ?<option value="">全部狀態</option>
          ????????? ?<option value="0">公開</option>
          ????????? ?<option value="1">草稿</option>
          ????????? ?<option value="2">已刪除</option>
          ????????? </select>
          ????????? <font color="#000000">作者:</font>
          ????????? <select name="author">
          ????????? ?<option value="admin">全部作者</option>
          ????????? ?<option value="admin">admin</option>
          ????????? </select>
          ????????? <font color="#000000">搜索條件:</font>
          ????????? <input type="text" name="query" value="">
          ????????? <input name="submit" type="submit" value="查詢" align="absmiddle" style="height:21px;width:40px;background-color: #F5F5F5"/>
          ????????? <input name="submit" type="button" onclick="location.href('createIndex.jsp')" value="重建索引" align="absmiddle" style="height:21px;width:78px;background-color: #F5F5F5"/>
          ?????????
          ????????? </td>
          ??????? </tr>
          ????? </table>
          ????? <table width='100%' border='0' cellspacing='1' cellpadding='2'>
          ????? <logic:notEmpty name="logs">
          ???????
          ??????? <logic:iterate id="log" name="logs" indexId="idx" type="LogForm">
          ?????? <tr>
          ??????????? <td align="left">
          ????????? ??<a href="show.jsp?logId=<%=log.getLogId()%>"><bean:write name="log" property="logTitle"/></a>
          ????????? ?</td>
          ????????? ?<td>
          ????????? ??<a href="delLog.jsp?logId=<%=log.getLogId()%>">刪除</a>
          ????????? ?</td>
          ????????? </tr>
          ??????? </logic:iterate>
          ??</logic:notEmpty>
          ????? </table>
          ??? </td>
          ? </tr>
          </form>
          form的search.do在struts-confgi.xml中如下定義
          <action path="/search" type="net.skycity.action.SearchLogAction">
          ???????? <forward name="show" path="/search.jsp" redirect="true"/>
          ?</action>
          SearchLogAction實現:
          package net.skycity.action;

          import java.util.List;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import net.skycity.blog.LogManager;
          import net.skycity.util.WellsoonUtil;

          import org.apache.commons.lang.StringUtils;
          import org.apache.struts.action.Action;
          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;

          public class SearchLogAction extends Action {
          ?
          ?public ActionForward execute(ActionMapping mapping,
          ??????????? ActionForm form, HttpServletRequest request,
          ??????????? HttpServletResponse response) throws Exception
          ??? {
          ??String author=request.getParameter("author");
          ??? ?String logTypeId=request.getParameter("logTypeId");
          ??? ?String state=request.getParameter("state");
          ??? ?String query=WellsoonUtil.transfer(request.getParameter("query")==null?"":request.getParameter("query"));
          ??? ?List logs=null;
          ??? ?if(!StringUtils.isEmpty(query)){
          ??? ??logs=LogManager.searchFor(logTypeId,state,author,query);
          ??? ?}else{
          ??? ??logs=LogManager.searchFor(logTypeId,state,author);
          ??? ?}
          ??? ?request.getSession().setAttribute("logs",logs);
          ??????? return mapping.findForward("show");
          ??? }

          }
          下載
          請自己添加jar文件:struts包,pg74.215.jdbc3.jar(我用的postgresql數據庫),lucene-1.4-final.jar,lucene-demos-1.4-final.jar,log4j,dom4j,hibernate2.jar,commons-pool-1.1.jar,commons-dbcp-1.1.jar,cglib-full-2.0.2.jar



          Lyyb2001
          主站蜘蛛池模板: 尤溪县| 罗山县| 伽师县| 太原市| 南部县| 玉龙| 德清县| 丹巴县| 宜都市| 密云县| 新津县| 安化县| 灵川县| 靖安县| 宜都市| 牡丹江市| 赤城县| 广河县| 疏勒县| 于都县| 安国市| 龙海市| 韩城市| 漳平市| 土默特右旗| 永平县| 营口市| 莱阳市| 贡嘎县| 库车县| 偏关县| 哈尔滨市| 南城县| 平舆县| 兴文县| 浮梁县| 孟州市| 星子县| 秀山| 礼泉县| 临澧县|