Jquery+ajax+JAVA(servlet)實現(xiàn)下拉菜單異步取值
來源:易賢網(wǎng) 閱讀:1659 次 日期:2016-07-16 14:29:28
溫馨提示:易賢網(wǎng)小編為您整理了“Jquery+ajax+JAVA(servlet)實現(xiàn)下拉菜單異步取值”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了Jquery+ajax+JAVA(servlet)實現(xiàn)下拉菜單異步取值的相關(guān)資料,需要的朋友可以參考下

名單

JSP代碼:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

<%

  String path = request.getContextPath();

  String basePath = request.getScheme() + "://"

      + request.getServerName() + ":" + request.getServerPort()

      + path + "/";

      System.out.println("basePath="+basePath);

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>JsonCase</title>

<script type="text/javascript" src="<%=basePath %>js/jquery-1.7.2.min.js"></script>

<script type="text/javascript">

  $(function($) {

    $("#record").append("當(dāng)前測試頁面完成加載。<br/>");

  });

  function getFirstFloorValue(element) {

    $("#record").append("<br/>獲取到信息:您將要取得第一級選項信息……");

    $("#record").append("<br/>正在使用ajax為您獲取數(shù)據(jù),您可以繼續(xù)停留在頁面并進(jìn)行其他操作。");

    $.ajax({

      url : 'ValueGetController',

      type : 'post',

      data : 'action=GetFirstFloorValue',

      datatype : 'json',

      success : function(data) {

        $("#record").append("<br/>操作成功,正在為您準(zhǔn)備數(shù)據(jù)……");

        $(element).empty();

        $("#record").append("<br/>清除原始數(shù)據(jù)成功!");

        var ops = $.parseJSON(data);

        $("#record").append("<br/>即時數(shù)據(jù)準(zhǔn)備成功!");

        for ( var i = 0; i < ops.length; i++)

          $(element).append(

              "<option value=\"" + ops[i] + "\">" + ops[i]

                  + "</option>");

        $("#record").append("<br/>更新列表成功!<br/>");

      }

    });

  }

</script>

</head>

<body>

  <div>

    <select id="select1" onfocus=getFirstFloorValue(this)>

      <option value="1">點(diǎn)擊取值</option>

    </select>

  </div>

  <dir>

    <h3>記錄信息:</h3>

    <span id="record"></span>

  </dir>

</body>

</html>

JAVA 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;

import net.sf.json.JSONArray;

public class ValueGetController extends HttpServlet {

  private static final long serialVersionUID = -1293610555518403602L;

  /**

   * Constructor of the object.

   */

  public ValueGetController() {

    super();

  }

  /**

   * Destruction of the servlet. <br>

   */

  public void destroy() {

    super.destroy(); // Just puts "destroy" string in log

    // Put your code here

  }

  /**

   * The doGet method of the servlet. <br>

   *

   * This method is called when a form has its tag value method equals to get.

   * 

   * @param request the request send by the client to the server

   * @param response the response send by the server to the client

   * @throws ServletException if an error occurred

   * @throws IOException if an error occurred

   */

  public void doGet(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

    doPost(request, response);

  }

  /**

   * The doPost method of the servlet. <br>

   *

   * This method is called when a form has its tag value method equals to post.

   * 

   * @param request the request send by the client to the server

   * @param response the response send by the server to the client

   * @throws ServletException if an error occurred

   * @throws IOException if an error occurred

   */

  public void doPost(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

    request.setCharacterEncoding("GBK");

     response.setContentType("text/html;charset=gbk");

     PrintWriter out = response.getWriter();

     String action = request.getParameter("action");

     System.out.println("action"+action);

     if (action.equals("GetFirstFloorValue")) {

             String[] str = GetFirstFloorValue();

             JSONArray ja = JSONArray.fromObject(str);

             String json = ja.toString();

              out.print(json);

             System.out.println(json);

             out.flush();

              out.close();

              return;

           }

            out.flush();

            out.close();

  }

  private String[] GetFirstFloorValue() {

     String[] str = new String[4];

         str[0] = "test1";

         str[1] = "test2";

         str[2] = "test3";

         str[3] = "test4";

         return str;

  }

}

關(guān)于servlet的web.xml配置:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

  xmlns="http://java.sun.com/xml/ns/javaee"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

 <servlet>

  <description>This is the description of my J2EE component</description>

  <display-name>This is the display name of my J2EE component</display-name>

  <servlet-name>ValueGetController</servlet-name>

  <servlet-class>servlet.ValueGetController</servlet-class>

 </servlet>

 <servlet-mapping>

  <servlet-name>ValueGetController</servlet-name>

  <url-pattern>/ValueGetController</url-pattern>

 </servlet-mapping>

 <welcome-file-list>

  <welcome-file>index.jsp</welcome-file>

 </welcome-file-list>

</web-app>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:Jquery+ajax+JAVA(servlet)實現(xiàn)下拉菜單異步取值
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)