当前位置: 代码迷 >> Java Web开发 >> 关于struts2按条件 模糊查询!解决方法
  详细解决方案

关于struts2按条件 模糊查询!解决方法

热度:2510   发布时间:2013-02-25 21:21:36.0
关于struts2按条件 模糊查询!!!!!!!!!!!!
我就不知道为什么我的keyword1 和keyword2 联合在一起做查询 查询不到结果,数据库里有的结果。用到一个select 下拉框。求各位帮看原因为!!!!!!!!!!!!!!

不多说,先上界面代码


HTML code
<form name="fom" id="fom" method="post" action="Book-Search.action"><td width="538">按    <select name="keyword1">        <option>请选择</option>        <option value="productID">图书产品号</option>        <option value="categoryname">分类名</option>        <option value="bookname">图书名</option>        <option value="author">作者</option>        <option value="publisher">出版社</option>    </select>     搜索:      <input type="text" name="keyword2" value="请输入关键字" />    <input name="Submit4" type="submit" class="right-button02" value="查 询" /></td>    </form>

通过struts.xml success到bookSearch.jsp 界面显示代码:

HTML code
<s:iterator value="bms" id="b">            <tr bgcolor="#FFFFFF">        <td height="20"><input type="checkbox" name="delid"/></td>        <td bgcolor="#FFFFFF"><s:property value="#b.productID"/></td>                <td><s:property value="#b.categoryname"/></td>                <td><s:property value="#b.bookname"/></td>                <td><s:property value="#b.publisher"/></td>                <td><s:property value="#b.publishdate"/></td>                <td><s:property value="#b.author"/></td>                <td><s:property value="¥#b.unitprice"/></td>                <td bgcolor="#FFFFFF" align="center">           <a href="Book-UpdateInput.action?productID=<s:property value="#b.productID" />">编辑</a>|           <!-- <a href="searchBook.jsp">查看该类别所有图书</a>| -->           <a href="Book-Delete.action?productID=<s:property value="#b.productID"/>" onclick="return checkDel();">删除</a>         </td>             </tr></s:iterator> 



再看我的action
Java code
private ABookService bs = new ABookService();//private ACategoryService cs = new ACategoryService();private List<BookModel> bms;private String keyword1;private String keyword2;//省略get set方法(keyword1 2 等等)//条件模糊查询public String findAll(){        try {            bms = ABookService.findAll(keyword1, keyword2);            System.out.println("!!!!!"+keyword1+keyword2);            //bm = new BookModel();        } catch (Exception e) {            e.printStackTrace();        }        return SUCCESS;    }


再看我的service代码

Java code
//模糊查询    public static List<BookModel> findAll(String keyword1, String keyword2) throws Exception{                Connection conn = ConnectionDB.getConn();        ArrayList<BookModel>all = new ArrayList<BookModel>();        String sql = "select * from bookInfo where ? = ?";        /*if(keyword1 == "productID"){        String sql="select * from bookInfo where productID like ? ";        }        else if(keyword1 == "bookname"){            String sql = "select * from bookInfo where bookname like ? ";        }*/                PreparedStatement ps = ConnectionDB.prepare(conn, sql);                //keyword = "100";        System.out.println("~~~~~~~~~~~~~~~~"+keyword1+keyword2);        ps.setString(1,keyword1);        ps.setString(2,keyword2);        ResultSet rs = ps.executeQuery();        while(rs.next()){            BookModel bm= new BookModel();            bm.setProductID(rs.getString(1));            bm.setCategoryname(rs.getString(2));            bm.setBookname(rs.getString(3));            bm.setPublisher(rs.getString(4));            bm.setPublishdate(rs.getString(5));            bm.setAuthor(rs.getString(6));            bm.setUnitprice(rs.getString(7));            all.add(bm);            System.out.println(bm.getAuthor());        }        ConnectionDB.close(ps);        ConnectionDB.close(conn);        return all;    }
  相关解决方案