1. 程式人生 > >springMVC使用ajax返回json物件,用jquery進行解析.

springMVC使用ajax返回json物件,用jquery進行解析.

今天學了springMVC使用ajax返回json物件,並在前臺頁面用jquery進行遍歷,大家看完了可以嘗試做一個簡單的二/三級聯動哦,

首先先導好spring+springMVC,jar包,這個大家都清楚,就不一一細列了,除外還需要匯入兩個json用的jar :

jackson-core-asl-1.9.7.jar

  jackson-mapper-asl-1.9.7.jar

還有jquery-3.1.1.min.js

好了,下面開始程式碼演示 : 

1.applicationContext.xml配置 :

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:tx="http://www.springframework.org/schema/tx"   
    xmlns:aop="http://www.springframework.org/schema/aop"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
                        http://www.springframework.org/schema/beans/spring-beans.xsd  
                        http://www.springframework.org/schema/context 
                        http://www.springframework.org/schema/context/spring-context-3.0.xsd  
                        http://www.springframework.org/schema/tx  
                        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
                        http://www.springframework.org/schema/aop 
                        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                        http://www.springframework.org/schema/mvc 
                		http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 
   
    <!-- 開啟註解 -->
	<context:annotation-config/>   
    <!-- 掃描包設定 -->
	<context:component-scan base-package="com.zrrd.*"/> 
	<!-- 啟用3.0新註解 -->
    <mvc:annotation-driven />  
	<!-- 啟動Spring MVC的註解功能,完成請求和註解POJO的對映 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

</beans>

2.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">
    <welcome-file-list>
   		<welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
  
	<context-param>  
	    <param-name>contextConfigLocation</param-name>  
	    <param-value>classpath:applicationContext.xml</param-value>  
	</context-param>  
		
	<!-- 伺服器啟動時,通過監聽器初始化Spring的配置環境   
	    監聽器,預設載入檔案是:/WEB-INF/applicationContext.xml  
	-->  
	<listener>  
	    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
	</listener>  
  
	<!-- 配置字符集過濾器 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
	    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
	    <init-param>
	          <param-name>encoding</param-name>
	          <param-value>UTF-8</param-value>
	    </init-param>
	    <init-param>
	         <param-name>forceEncoding</param-name>
	         <param-value>true</param-value>
	     </init-param>
	</filter>
	
	<filter-mapping>
	     <filter-name>encodingFilter</filter-name>
	     <url-pattern>/*</url-pattern>
	</filter-mapping>
  
  
	<!--    springMVC 核心控制器   -->
	<servlet>
		<servlet-name>dispatcherServlet</servlet-name>
		<servlet-class>
			org.springframework.web.servlet.DispatcherServlet
		</servlet-class>
		
	<!-- 初始化引數  springmvc 配置檔案 -->
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
	</servlet>
	
	
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
</web-app>
3.實體類entity:
package com.zrrd.json.controller;

/**
 * @user : vcen

 * @ClassName: Student

 * @TODO : 學生實體類

 * @date 2016-12-12 下午12:41:13
 */
public class Student {
	private int stuId;
	private String stuName;
	private String stuSex;
	
	public int getStuId() {
		return stuId;
	}
	public void setStuId(int stuId) {
		this.stuId = stuId;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public String getStuSex() {
		return stuSex;
	}
	public void setStuSex(String stuSex) {
		this.stuSex = stuSex;
	}
}


4.controller : 

package com.zrrd.json.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**

 * @user : vcen

 * @ClassName: JosnController

 * @TODO : controller控制層

 * @date 2016-12-12 下午12:37:43

 */
@Controller
@RequestMapping("josnController")
public class JosnController {
	
	@ResponseBody
	@RequestMapping("ajaxTest.do")
	public List<Student> test(){
		List<Student> list = new ArrayList<Student>();
		
		//注入值
		Student stu = new Student();
		stu.setStuId(1);
		stu.setStuName("張三");
		stu.setStuSex("男");
		list.add(stu);

		Student stu2 = new Student();
		stu2.setStuId(2);
		stu2.setStuName("李四");
		stu2.setStuSex("女");
		list.add(stu2);
		
		return list;  //直接返回list物件
	}
}


前臺顯示頁面 : 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	
	<!-- 引入jquery檔案 -->
	<script type="text/javascript" src="<%=path%>/js/jquery-3.1.1.min.js"></script>
  </head>
  
  <body>
        <button onclick="$.clickJson()">點我</button>
        <div id="div1"></div>
        
        <script type="text/javascript">
        	$.extend({clickJson:function(){
        		  $.ajax({
					   type: "POST",
					   url: "<%=path%>/josnController/ajaxTest.do",
					   success: function(msg){
					   	   //msg : 返回的json物件     // i :元素下標   , n : 遍歷出來的學生物件
					       $.each(msg,function(i,n){
					       		$("#div1").append("<p>"+n.stuId+","+n.stuName+","+n.stuSex+"</p>");
					       });
					   }
				});
        	}});
        </script>
  </body>
</html>

好了,演示到這裡吧!!!

相關推薦

springMVC使用ajax返回json物件,jquery進行解析.

今天學了springMVC使用ajax返回json物件,並在前臺頁面用jquery進行遍歷,大家看完了可以嘗試做一個簡單的二/三級聯動哦, 首先先導好spring+springMVC,jar包,這個大家都清楚,就不一一細列了,除外還需要匯入兩個json用的jar : ja

jQuery.Post到Struts2的action處理,並返回json物件到前端

之前雖然一直在用jQuery.post函式,將前端頁面的請求傳送到struts中的action處理,但是用的是公司寫好的一套東西,基本都是複製貼上,反而對基本的post功能沒有深入瞭解。下面簡單配置說明action中接收處理post的請求。 用的是struts2,web.

json物件以及jQuery $.extend和$.fn.extend的區別

1.1json物件的三種格式? 物件格式: var json1={sid:'s01',age:'18',name:'名字'} alert(json1.sid); 你可以這樣理解這種和java物件差不多,屬性對應值,使用的時候物件名點屬性名就可以了 1.2陣列格式

JSON物件的封裝與解析

   String name = tableObj.get("tableName").toString();                //獲得表名    JSONArray columnInfo = tableObj.getJSONArray("columnInfo");        //獲得欄位描述

######springmvc中方法返回值為String時@responseBody不能返回json物件

引用 2 樓 tzdwsy 的回覆: RequestMappingR中加上produces=“application/json”試試 這樣寫只是返回前臺後不報錯,但是資料格式依然不是json的,它只是在返回的資料上打了個引號;“channelId=2” 真正的解決方法應該是這樣的

c#.net如何將API返回json物件轉換成自己想要的List

JObject job = (JObject)JsonConvert.DeserializeObject(strBuff); foreach (var item in job["subjects"]) { subjec

帶DTD 的XML SAX進行解析

    我們知道,在java中,解析的xml檔案的外掛很多,dom4j,jdom等等,但是它們都是基於dom和sax兩種形式就行解析的,我們明白,dom是解析小檔案的,一次性的把檔案載入到記憶體中進行解析,sax是分步進行的,只有用到的時候,才會到硬碟上去載入xml檔案,適

前後臺$.post互動並返回JSON物件

1、前臺程式碼: $.post(url,{"blogId":blogId},function(reData){ if(reData.state=="success"){ alert("刪除成功"); window.location.href="${pageCon

含有中文字元的json物件通過jquery提交到mongoose web的亂碼問題

這個函式是把html的表單物件轉換為Json物件 (function($){  $.fn.serializeJson=function(){  var serializeObj={};  $(this.serializeArray()).each(function(){  

http請求返回json物件。簡單的介面處理

開發了一個獨立查詢儲存的系統,需要被其他系統訪問,記錄一下方法 也許以後會用到。很簡單的http請求和返回 package com.hz.contral; import java.io.IOException; import java.io.PrintWriter; im

Jquery form.js文件上傳返回JSON數據,在IE下提示下載文件的解決辦法,並對返回數據進行正確的解析

設置 解析 轉換 解決 pla esp 下載 ring 上傳 Jquery from.js插件上傳文件非常方便,但是在ie10以下的版本會彈出下載文件對話框 解決方法: 1、在服務端設置response.setContentType("text/plain"); 2、對返回

使用jQuery POST提交資料返回JSON是字串不能解析JSON物件

剛開始介入程式設計,很多東西自己不是一下就能搞定的,剛開始犯的錯還不少。 藉助CSDN部落格當做自己的筆記。 今天用jQuery的POST提交資料,我需要用他返回的資料, [javascript] view plaincopy jQuery.pos

java呼叫http介面並解析返回json物件

import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import jav

Android訪問網路系列之--服務端返回XML或JSON格式資料,Android 進行解析並顯示

例子說明:使用者通過訪問web資源的最新電影資訊,伺服器端生成XML或JSON格式資料,返回Android客戶端進行顯示。 此案例開發需要兩個方面 WEB開發和android開發. 一.web開發相對比較簡單,只是模擬一下 相關程式碼如下: 1.實體Bean package ygc.yxb.domain

Android訪問網路:服務端返回XML或JSON格式資料,Android 進行解析並使用ListView顯示

剛剛入門學習了Android的ListView,也是看了傳智播客黎活明老師的視訊學習了,但是一直執行不了,還報錯了。報的錯誤是:at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.jav

JQuery遞迴解析無限層級JSON物件的所有key和value

前一段時間做了一個小專案,要加一個json資料自動繫結前臺表單的功能,類似於jquery-easyui裡面的資料繫結(給它一個json物件,就能自動解析裡面有的資料。json資料的key對於表單的name屬性,也可以是id或自己定義的標籤屬性,把key對應的值賦

JQuery返回Json日期格式的問題 jquery對時間/Date(1387900800000)進行處理

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 1 function DataBindToMemberDetailDialog(me

表單格式化外掛jquery.serializejson將表單上的資料轉換成JSON物件

沒有這個外掛之前要想JS獲取到form表單的資料,在ajax傳到後臺也是蠻痛苦的事,雖然都是簡單用$(“#id”).val()獲取到表單的值,要是量多了也是很磨人的。 好吧,廢話不多說!看下這個jquery.serializejson.js外掛是怎麼給我們帶來

SpringMVC的介面,接收json資料返回json資料並且解析為List物件集合

請求引數實體類 package com.lifuyi.entity; /** * 請求引數**重點內容** */ public class RequestPram { //訂單號 private String orderNum;

android 客戶端訪問自己建立的伺服器並返回JSON資料進行解析學習

最近在找關於客戶端訪問伺服器開發的用例 總是去訪問別人的網站也不能對裡面的資料進行修改也不知道是怎麼實現的,自己在網上申請了一個免費的伺服器網站上傳了一個php檔案,現在就可以通過urlStr===http://1.hellowes.sinaapp.com/訪問伺服器上的資