Jquery+ajax+JAVA(서블릿)는 드롭다운 menu_jquery의 비동기 값 수집을 구현합니다.
첫 번째 프로젝트 구조 다이어그램 살펴보기:
프로젝트에 필요한 패키지는 다음과 같습니다.
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 서블릿 코드:
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; } }
서블릿의 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>
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 난수 생성기 안내. 여기서는 예제를 통해 Java의 함수와 예제를 통해 두 가지 다른 생성기에 대해 설명합니다.

자바의 암스트롱 번호 안내 여기에서는 일부 코드와 함께 Java의 Armstrong 번호에 대한 소개를 논의합니다.

Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다
