ajax 動態擷取資料庫中的值

來源:互聯網
上載者:User

標籤:key   html 4.01   length   map   com   ==   etc   isp   .text   

功能簡介:  在一個輸入框中輸入內容 ,當內容長度>1時向後發送ajax   從資料庫中擷取有關文字框中的內容在前台顯示, 前台設計一些點擊事件,以及jquery的應用

 

 

1   使用了springmvc  中的requestmapping註解  故 先附上 設定檔

web.xml配置:

<servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- Map all requests to the DispatcherServlet for handling --><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>

 

 

springmvc.xml配置如下:
<!-- 配置自定掃描的包 --><context:component-scan base-package="com.rl.util"></context:component-scan><!-- 配置視圖解析器: 如何把 handler 方法傳回值解析為實際的物理視圖 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"></property><property name="suffix" value=".jsp"></property></bean>

  

 

前台頁面如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><style>input[name]{width:500px;height: 20px;align-self: center;vertical-align:middel;margin-left:300px;}#div1{width: 500px;height: 230px;border: 1px solid black;list-style:none;margin-left:300px;display: none;}.mouseOver{background-color: red;}</style><script type="text/javascript" src="static/bootstrap/js/jquery.min.js" ></script></head><body><input id="sousuo" type="text" name="inputText" placeholder="請輸入" /><input type="button" value="搜尋" /><br><div id="div1"><li>北京</li><li>天?</li><li>上?</li></div> <a href="ad">dasf</a></body><script>$("#sousuo").focus();$("#sousuo").blur(function(){$("#div1").hide(1000);})$(document).ready(function(){$("#sousuo").bind("keyup",function(){var $inpu=$("#sousuo").val();if($inpu.length>1){//alert($inpu);$.ajax({            async : false,            cache : false,            type : ‘POST‘,            url : ‘/ajax_jso/ad‘,            dataType : "json",          data : {"postData":$inpu},                        error : function() {                alert(‘請求失敗 ‘);            },            success : function(data) {              /*  */               $("li").text("");               for(var i=0;i<data.length;i++){              /*  . */               var $li = $("<li></li>");               $li.text(data[i]);               $("#div1").append($li);               }                           }        });$("#div1").show(1000)//setTimeout(,5000)}$("li").mouseover(function(){$("li").removeClass();$(this).addClass("mouseOver");});$("li").click(function(){$("#sousuo").val($(this).text());})});});</script></html>

  後台接受請求的代碼如下:

package com.rl.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import net.sf.json.JSONArray;@Controllerpublic class Control {@RequestMapping("/ad")@ResponseBodypublic String  getList(HttpServletRequest request) {//HttpServletRequest request=  ServletActionContext.getRequest();  List<String> list=new ArrayList<>();Gson gson2 = new GsonBuilder().enableComplexMapKeySerialization().create(); try {Class.forName("com.mysql.jdbc.Driver");// 匯入驅動(jar包)} catch (ClassNotFoundException e) {e.printStackTrace();}String name = "";Connection conn = null;try {conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/xxff", "root", "123456");// 建立串連} catch (SQLException e) {e.printStackTrace();}// String sql = "select name,email,dob from student";//建立SQL語句System.out.println( request.getParameter("postData"));  String postData =  request.getParameter("postData");    if(postData==null){  System.out.println("null    "+"postData");  }    else{  postData = postData.trim();  System.out.println("TrubleShooting.java  timestap = "+postData);String sql = "SELECT  login_name FROM tab_account WHERE login_name LIKE ‘%"+ ""+postData+ "%‘";//where login_name like ‘%postData%‘/*List<Map<String, String>> list = new ArrayList<>();Map<String, String> map = new HashMap<>();*/try {Statement stmt = (Statement) conn.createStatement();ResultSet rs = stmt.executeQuery(sql);// cursorwhile (rs.next()) {name = rs.getString(1);//list.add(name);/* * String email = rs.getString(2); String dob = rs.getString(3); *///System.out.println(name/* +" , "+email+" , "+dob */);System.out.println(name);//map.put("name", name);list.add(name);}} catch (SQLException e) {e.printStackTrace();} finally {if (conn != null)try {conn.close();// 關閉串連} catch (SQLException e) {e.printStackTrace();}}  } String json=JSONArray.fromObject(list).toString();JSONArray jsonArray = JSONArray.fromObject(json); //List<String> list2 = (List) JSONArray.toCollection(jsonArray);return json;}}

  

 

ajax 動態擷取資料庫中的值

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.