• 个人作业二


    多条件查询的实现

    后台

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            request.setCharacterEncoding("utf-8");
            response.setContentType("text/html;charset=utf-8"); 
            dao yidao=new dao();
            List<info>list = new ArrayList<info>();
            String p[] = new String[10];//获得条件
            String s[] = new String[10];//获得内容
            String g[] = new String[10];//获得关系
            String f[] = new String[10];//获得精确或者模糊
            String number = null;
    
            //String number1 = null;
            number=request.getParameter("number1");
            //number1=request.getParameter("number2");
            int n = Integer.parseInt(number);//接收条件的个数
            System.out.println("条件数"+n);
            //int n1 = Integer.parseInt(number1);
            for(int i=1;i<=n;i++)
            {
                p[i]= (String) request.getParameter("s"+i);
                s[i]=(String)request.getParameter("shuru"+i);
                f[i]=(String)request.getParameter("c"+i);
                System.out.println("精确还是模糊"+f[i]);
                System.out.println("条件"+p[i]);
                System.out.println("输入"+s[i]);
                if(p[i].equals("论文编号")){
                    p[i] = "workId";
                }else if(p[i].equals("题目")){
                    p[i] = "head";
                }else if(p[i].equals("关键词")){
                    p[i] = "word";
                }else if(p[i].equals("作者")){
                    p[i] = "writer";
                }
            }
            
            for(int i=1;i<n;i++)
            {
                g[i]=(String) request.getParameter("g"+i);
                if(g[i].equals("且")) {
                    g[i]="and";
                }else if(g[i].equals("或")) {
                    g[i]="or";
                }
                System.out.println("且或"+g[i]);
            }
            
            String sql="where ";
            for(int i=1;i<n;i++)
            {
                if(s[i].equals(""))
                {
                    continue;
                }
                if(f[i].equals("精确"))
                {
                    sql=sql+p[i]+"='"+s[i]+"'"+" "+g[i]+" ";
                }else if(f[i].equals("模糊"))
                {
                    sql=sql+p[i]+" "+"LIKE"+" "+"'%"+s[i]+"%'"+" "+g[i]+" ";
                }
                
            }
            if(f[n].equals("精确")) {
                sql = sql + p[n]+"="+"'"+s[n]+"'";    
            }else {
                sql = sql + p[n]+" "+"LIKE"+" "+"'%"+s[n]+"%'";    
            }
    
            if(n==1&&s[1].equals(""))
            {
                System.out.println("什么也没传!");
                sql="";
            }
            list = yidao.loadview(sql);
                if(list.size()!=0) {
                    Gson gson=new Gson();
                        String json=gson.toJson(list);
                        System.out.print(json);
                        response.getWriter().write(json);            
                        request.setAttribute("course11",list); 
            request.setAttribute("message", "查询成功");
            System.out.print("查询 成功");
                request.getRequestDispatcher("main.jsp").forward(request,response);
                }
                else {
                    request.setAttribute("message", "查询失败");
                    request.getRequestDispatcher("main.jsp").forward(request,response);
                }        
        }

    前端

    <script>
    var i=1;
    var j=1;
    document.getElementById('number1').value=i;
    document.getElementById('number2').value=j;
    function demoDisplay(){
        if(document.getElementById("p2").style.display=="none"){
            i++;
            j++;
            document.getElementById("p2").style.display="inline";//inline是显示出来内容,none是不显示出来内容
            document.getElementById('number1').value=i;
            document.getElementById('number2').value=j;
    //         alert(i);
    //         alert(j);
            return;
        }else if(document.getElementById("p3").style.display=="none")
            {
                i++;
                j++;
                document.getElementById("p3").style.display="inline";
                document.getElementById('number1').value=i;
                document.getElementById('number2').value=j;
    //             alert(i);
    //             alert(j);
                return;
            }else if(document.getElementById("p4").style.display=="none")
            {
                i++;
                j++;
                document.getElementById("p4").style.display="inline";
                document.getElementById('number1').value=i;
                document.getElementById('number2').value=j;
    //             alert(i);
    //             alert(j);
                return;
            }else if(document.getElementById("p5").style.display=="none")
            {
                i++;
                j++;
                document.getElementById("p5").style.display="inline";
                document.getElementById('number1').value=i;
                document.getElementById('number2').value=j;
    //             alert(i);
    //             alert(j);
                return;
            }
            else if(document.getElementById("p6").style.display=="none")
            {
                i++;
                j++;
                document.getElementById("p6").style.display="inline";
                document.getElementById('number1').value=i;
                document.getElementById('number2').value=j;
    //             alert(i);
    //             alert(j);
                return;
            }
            else if(document.getElementById("p7").style.display=="none")
            {
                i++;
                j++;
                document.getElementById("p7").style.display="inline";
                document.getElementById('number1').value=i;
                document.getElementById('number2').value=j;
    //             alert(i);
    //             alert(j);
                return;
            }
    }
    function demoVisibility(){
         if(document.getElementById("p7").style.display=="inline")
        {
            i--;
            j--;
            document.getElementById("p7").style.display="none";
            document.getElementById('number1').value=i;
            document.getElementById('number2').value=j;
            //System.out.println("i:"+i+"j"+j);
            return;
        }
        else if(document.getElementById("p6").style.display=="inline")
        {
            i--;
            j--;
            document.getElementById("p6").style.display="none";
            document.getElementById('number1').value=i;
            document.getElementById('number2').value=j;
            //System.out.println("i:"+i+"j"+j);
            return;
        }
    else if(document.getElementById("p5").style.display=="inline")
        {
            i--;
            j--;
            document.getElementById("p5").style.display="none";
            document.getElementById('number1').value=i;
            document.getElementById('number2').value=j;
            //System.out.println("i:"+i+"j"+j);
            return;
        }else if(document.getElementById("p4").style.display=="inline")
        {
            i--;
            j--;
            document.getElementById("p4").style.display="none";
            document.getElementById('number1').value=i;
            document.getElementById('number2').value=j;
            //System.out.println("i:"+i+"j"+j);
            return;
        }else if(document.getElementById("p3").style.display=="inline")
        {
            i--;
            j--;
            document.getElementById("p3").style.display="none";
            document.getElementById('number1').value=i;
            document.getElementById('number2').value=j;
            //System.out.println("i:"+i+"j"+j);
            return;
        }else if(document.getElementById("p2").style.display=="inline")
        {
            i--;
            j--;
            document.getElementById("p2").style.display="none";
            document.getElementById('number1').value=i;
            document.getElementById('number2').value=j;
            //System.out.println("i:"+i+"j"+j);
            return;
        }
    }
    </script>
    //其中之一
    <div id="p1">
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <select name="g22" style="visibility:hidden" class="slect">
        <option value="且">且</option>
        <option value="或">或</option>
        </select>
        <select name="s1" class="option">
        <option>题目</option>
        <option>作者</option>
        <option>论文编号</option>
        <option>关键词</option>
        </select>
        <input type="text" name="shuru1" class="input" value="" />
        <select name="c1" class="option">
        <option>精确</option>
        <option>模糊</option>
        </select>
        <button type="button" onclick="demoDisplay()" class="button"><i class="layui-icon">+</i></button>
        <button type="button" onclick="demoVisibility()" class="button"><i class="layui-icon">-</i></button>
        <br>
    </div>
    <thead>
       
        <tr>
          <th scope="col">题目</th>
          <th scope="col">作者</th>
          <th scope="col">发表日期</th>
          <th scope="col">原文链接 </th>
        </tr>
      </thead>
      <tbody id="list"> 
          
          <c:forEach items="${course11}" var="course1">
          <tr>
              <th>${course1.head }</th>
              <th>${course1.writer }</th>
              <th>${course1.date }</th>
              <th><a href="${course1.line}">${course1.line}</a></th>
            </tr>
            </c:forEach>
     
      </tbody>
  • 相关阅读:
    mysql 索引
    mysql binlog相关知识
    分布式系统日志
    学习路线
    分布式学习
    工具
    关于java面试
    mysql悲观锁总结和实践(转)
    app技术博客整理
    Java编程一些经验
  • 原文地址:https://www.cnblogs.com/hfy717/p/14887153.html
Copyright © 2020-2023  润新知