在JSP网页的文本域里输入一个查询关键字,就可以实现模糊查询,并把结果现实在下面.
请问怎么实现,求源代码

解决方案 »

  1.   

    是不是多字段查询?
    页面上:
    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
    <html>
      <head>
        <title>Test</title>
      </head>
      <body>
        <form action="servlet/Sql" method="post">
        <table align="center">
        <tr><td>name:</td><td><input type="text" name="name"></td></tr>
        <tr><td>sex:</td><td><input type="text" name="sex"></td></tr>
        <tr><td>age:</td><td><input type="text" name="age"></td></tr>
        <tr><td colspan="2" align="center"><input type="submit" value="Click"></td></tr>
        </table>
        </form>
      </body>
    </html>
    这个页面里有3个文本框。然后在servlet里进行拼串。package servlet;import java.io.IOException;
    import java.io.PrintWriter;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class Sql extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { response.setContentType("text/html;charset=GBK");
    request.setCharacterEncoding("GBK");
    PrintWriter out = response.getWriter();
    String sql = "select * from information where 1=1";
    String name=request.getParameter("name");
    String sex = request.getParameter("sex");
    String age = request.getParameter("age");
    if(name!=""){
    sql += " and name="+name;
    }
    if(sex!=""){
    sql += " and sex="+sex;
    }
    if(age!=""){
    age += " and age="+age;
    }
    out.println(sql);
    out.close();
    } public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { this.doGet(request, response);
    }}这样的话,sql就能拼出你想要的了。
      

  2.   

    模糊查询大都是用sql语句实现的,譬如:select * from table where name like '%???%';其中,???是用户在网页上的输入!
      

  3.   

    你要是用habernate的话,也能用
    from table as A where where A.name like '%???%'
      

  4.   

    String sql = "select * from information where 1=1"; 是什么意思啊 ?
    这个1=1是什么意思啊
    其实我知道模糊查询的SQL语句,只是我不知道怎么把JSP页面上的文本域中的输入值放到SQL中做查询条件。
      

  5.   

    1=1是为了后面能进行and拼串,就是true的意思,如果不用这个的话。你万一后面一个串都没加上去的话。那么那个串就成了以where结尾的不完整的串。
      

  6.   

    哦 这样吧,我有个PUR03F表,里面有个字段是 pur03_03 ,我们需要在文本域中输入一个数值,就能进行模糊查询,以pur03_03字段为查询条件。该怎么实现,你说的我有些深,我刚学JSP不是很理解。
    请帮忙!!1
      

  7.   

    最好用StringBuffer,通过append追加到sql语句中