关于struts2按条件 模糊查询!解决方法
关于struts2按条件 模糊查询!!!!!!!!!!!!
我就不知道为什么我的keyword1 和keyword2 联合在一起做查询 查询不到结果,数据库里有的结果。用到一个select 下拉框。求各位帮看原因为!!!!!!!!!!!!!!
不多说,先上界面代码
通过struts.xml success到bookSearch.jsp 界面显示代码:
再看我的action
再看我的service代码
我就不知道为什么我的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; }