Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
来源: 阅读:1560 次 日期:2016-07-16 14:29:28
温馨提示: 小编为您整理了“Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值”,方便广大网友查阅!

这篇文章主要介绍了Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值的相关资料,需要的朋友可以参考下

名单

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("当前测试页面完成加载。<br/>");

  });

  function getFirstFloorValue(element) {

    $("#record").append("<br/>获取到信息:您将要取得第一级选项信息……");

    $("#record").append("<br/>正在使用ajax为您获取数据,您可以继续停留在页面并进行其他操作。");

    $.ajax({

      url : 'ValueGetController',

      type : 'post',

      data : 'action=GetFirstFloorValue',

      datatype : 'json',

      success : function(data) {

        $("#record").append("<br/>操作成功,正在为您准备数据……");

        $(element).empty();

        $("#record").append("<br/>清除原始数据成功!");

        var ops = $.parseJSON(data);

        $("#record").append("<br/>即时数据准备成功!");

        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">点击取值</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;

  }

}

关于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>

以上就是本文的全部内容,希望对大家的学习有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map