Ajax传输对象,集合或数组。
传输单个对象时:
servlet页面
- package com.itnba.maya.a;
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * Servlet implementation class A
- */
- @WebServlet("/A")
- public class A extends HttpServlet {
- private static final long serialVersionUID = 1L;
- /**
- * @see HttpServlet#HttpServlet()
- */
- public A() {
- super();
- // TODO Auto-generated constructor stub
- }
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- request.setCharacterEncoding("utf-8");
- response.setCharacterEncoding("utf-8");
- //模拟从数据库查出
- Dog a=new Dog();
- a.setName("小黄");
- a.setAge(5);
- a.setZl("哈士奇");
- //放到XML文件中
- response.getWriter().append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
- response.getWriter().append("<gen>");
- response.getWriter().append("<name>"+ a.getName()+"</name>");
- response.getWriter().append("<age>"+ a.getAge()+"</age>");
- response.getWriter().append("<zl>"+ a.getZl()+"</zl>");
- response.getWriter().append("</gen>");
- }
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- doGet(request, response);
- }
- }
jsp页面中
- <%@ 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>
- <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $("#k").click(function(){
- $.ajax({
- url:"A",//跳转的servlet
- data:{},//key:要传输的数据
- type:"POST",
- dataType:"xml",
- success:function(httpdata){
- /* 解析XML中的数据 */
- var n=$(httpdata).find("name").text()
- var a=$(httpdata).find("age").text()
- var z=$(httpdata).find("zl").text()
- $("#x").append("<li>"+n+"</li>");
- $("#x").append("<li>"+a+"</li>");
- $("#x").append("<li>"+z+"</li>");
- }
- })
- });
- });
- </script>
- </head>
- <body>
- <span id="k">查看</span>
- <h1>
- <ul id="x">
- </ul>
- </h1>
- </body>
- </html>
效果如下
传输集合或者数组时
servlet页面
- package com.itnba.maya.a;
- import java.io.IOException;
- import java.util.ArrayList;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * Servlet implementation class B
- */
- @WebServlet("/B")
- public class B extends HttpServlet {
- private static final long serialVersionUID = 1L;
- /**
- * @see HttpServlet#HttpServlet()
- */
- public B() {
- super();
- // TODO Auto-generated constructor stub
- }
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- request.setCharacterEncoding("utf-8");
- response.setCharacterEncoding("utf-8");
- //模拟从数据库中查出
- Dog a1=new Dog();
- a1.setName("小黄");
- a1.setAge(5);
- a1.setZl("哈士奇");
- Dog a2=new Dog();
- a2.setName("中黄");
- a2.setAge(6);
- a2.setZl("泰迪");
- Dog a3=new Dog();
- a3.setName("大黄");
- a3.setAge(7);
- a3.setZl("京巴");
- ArrayList<Dog> list=new ArrayList<Dog>();
- list.add(a1);
- list.add(a2);
- list.add(a3);
- //放到XML文件中
- response.getWriter().append("<?xml version='1.0'?>");
- response.getWriter().append("<gen>");
- for(Dog d :list){
- response.getWriter().append("<dog name='"+d.getName()+"'>");
- //response.getWriter().append("<name>"+d.getName()+"</name>");
- response.getWriter().append("<age>"+d.getAge()+"</age>");
- response.getWriter().append("<zl>"+d.getZl()+"</zl>");
- response.getWriter().append("</dog>");
- }
- response.getWriter().append("</gen>");
- }
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- doGet(request, response);
- }
- }
jsp页面
- <%@ 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>
- <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
- <script type="text/javascript">
- $(document).ready(function(){
- $("#k").click(function(){
- $.ajax({
- url:"B",
- data:{},
- type:"POST",
- dataType:"xml",
- success:function(httpdata){
- var d=$(httpdata).find("dog");/* 返回的是个数组 */
- for(var i=0;i<d.length;i++){
- var n=$(d).eq(i).attr("name");
- var a=$(d).eq(i).find("age").text();
- var z=$(d).eq(i).find("zl").text();
- var tr="<tr>"
- tr+="<td>"+n+"</td>"
- tr+="<td>"+a+"</td>"
- tr+="<td>"+z+"</td>"
- tr +="</tr>"
- $("#x").append(tr)
- }
- }
- });
- });
- });
- </script>
- </head>
- <body>
- <span id="k">查看</span>
- <h1>
- <table width="100%" id="x">
- </table>
- </h1>
- </body>
- </html>
效果如下
Ajax传输对象,集合或数组。的更多相关文章
- SpringMVC,SpringBoot使用ajax传递对象集合/数组到后台
假设有一个bean名叫TestPOJO. 1.使用ajax从前台传递一个对象数组/集合到后台. 前台ajax写法: var testPOJO=new Array(); //这里组装testPOJO数组 ...
- springMVC接受对象集合,name数组
这两天开发遇到一个很常见的问题,即使自己一直没遇见过,不过之前看过是实现接受对象集合的代码,只不过没注意罢了 推荐一篇文章 直接贴代码吧 public class Person { private S ...
- 如果一个Object对象可能是集合或者数组那么如何对其进行迭代
需求:一个方法传入的参数是Object类型(假设对象为“items”,使用Object类型也是为了使用多态而增加方法复用性),但已知这个Object对象可能是集合,包括Collection和Map,也 ...
- Springboot+ajax传输json数组以及单条数据的方法
Springboot+ajax传输json数组以及单条数据的方法 下面是用ajax传输到后台单条以及多条数据的解析的Demo: 结构图如下: 下面是相关的代码: pom.xml: <?xml v ...
- springMVC通过ajax传递参数list对象或传递数组对象到后台
springMVC通过ajax传递参数list对象或传递数组对象到后台 环境: 前台传递参数到后台 前台使用ajax 后台使用springMVC 传递的参数是N多个对象 JSON对象和JSON字符串 ...
- 获取单列集合,双列集合,数组的Stream流对象以及简单操作
获取流对象 获取单列集合,双列集合,数组的流对象 单列集合获取流对象: 1.java.util.Collection接口中加入了default方法stream()获取流对象,因此其所有实现类均可通过此 ...
- Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合
Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合 摘要:本文主要记录了如何将将前端的对象数组通过Json字符串传到后端,并在后端将Json字符串转换为对象集合. 前端代码 前 ...
- $.ajax传输js数组,spring接收异常
今天测试,出现一个奇怪的问题 $.ajax传输js数组,spring接收这个数组,出现奇怪的现象,如果数组只有一个元素,且这个元素字符串最后一个字符是以逗号,结尾的话, spring会自动把这个逗号去 ...
- MVC传递数据-传递对象或对象集合
前言 本文主要介绍从View(或者js)文件向Controller提交对象或者对象集合.比方.将表格中的一行数据作为一个对象提交.或将多行数据作为一个集合提交到Controller. 回想 从View ...
随机推荐
- Vue(1)- es6的语法、vue的基本语法、vue应用示例,vue基础语法
一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = ...
- upsampling(上采样)& downsampled(降采样)
缩小图像 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的是两个: 使得图像符合显示区域的大小: 生成对应图像的缩略图: 下采样的原理: 对于一幅图像尺寸为 ...
- (转)java类到底是如何加载并初始化的?
Java虚拟机如何把编译好的.class文件加载到虚拟机里面?加载之后如何初始化类?静态类变量和实例类变量的初始化过程是否相同,分别是如何初始化的呢?这篇文章就 是解决上面3个问题的. 若有不正之处, ...
- kibana 创建饼图
1.在 visualize 里面选择饼图 2.选择数据源 3.选择 terms 聚合类型. 选择字段 xxx.keyword 保存即可.
- 003-Java非堆CodeCache详解
一.概述 Java的内存由堆和非堆两个部分组成.对于堆来说,它的组成是比较确定的,它包含了年轻代和年老代两个部分,而年轻代又是由Eden区和两个Survivor区组成.可是,非堆由哪些部分组成呢? 在 ...
- Verilog学习总结
1.多个always语句不能对同一变量赋值. 2.assign语句只能进行阻塞赋值,用来描述组合逻辑. 3.verilog描述方式:结构描述(门级描述和模块调用).数据流描述(assign,wire型 ...
- Myeclipse中文乱码解决方式
我们刚刚安装的Myeclipse有可能使用的是GBK的编码方式,而通常我们的程序都是使用的是UTF-8的编码方式,所以当我们导入一个项目的时候,会产生乱码,解决方式如下: 一.将整个project设置 ...
- uiautomator定位元素
- java反射基础知识(一)
一.反射 反射:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为 ...
- 转:MVC遇上bootstrap后的ajax表单验证
使用bootstrap后他由他自带的样式has-error,想要使用它就会比较麻烦,往常使用jqueyr.validate的话只有使用他自己的样式了,而且有模型在使用模型验证更方便点.怎么解决呢? 当 ...