`

AJAX ,在jsp处理 action返回的不同数据类型

 
阅读更多

一,在action层

  设置返回的数据类型:

二,在jsp接受action传过来的数据

  解析相应的数据

 

例如

=======文本:输出文字

设置

response.setContentType("text/xml; charset=utf-8");  文本

PrintWriter out = response.getWriter();

out.print("欢迎测试");

out.close();

接收,解析

var info=xmlHttp.responseText;

 

======文本(把xml以字符串输出):更新城市列表

设置

response.setContentType("text/xml; charset=utf-8");  文本

PrintWriter out = response.getWriter();

StringBuffer buffer=new StringBuffer("<?xml version=\"1.0\" encoding=\"utf-8\" ?><result>");

buffer.append("<cityname cid='1'>");

buffer.append(“北京”);

buffer.append("</cityname>");

buffer.append("<cityname cid='2'>");

buffer.append(“上海”);

buffer.append("</cityname>");

buffer.append("</result>");

out.print(buffer.toString());

out.close();

接收,解析xml

function updateList(){

  clearList();

  var city=document.getElementById("city");

  var text = xmlHttp.responseText; 

  var xD=xmlHttp.responseXML;   

  if(xD){ //浏览器兼容,解析成dom树

    xD.loadXML(text);   

  }else{   //浏览器兼容,解析成dom树

    var oParser = new DOMParser();   

    xD= oParser.parseFromString(text,"text/xml");   

    //alert(xD.getElementsByTagName("a"));   

  } 

  var res=xD.getElementsByTagName("cityname");

  var option=null;

 

  for(i=0;i<res.length;i++){

    option=document.createElement("option");

    option.appendChild(document.createTextNode(res[i].firstChild.nodeValue));

    option.setAttribute("value",res[i].getAttribute('cid'));

    city.appendChild(option);

  }

}

 

======文本(把json以字符串输出):更新城市列表

设置

        PrintWriter out = response.getWriter();

        StringBuffer buffer = new StringBuffer("[");

buffer.append("{\"id\":\"1\",");   //格式要规范,变量名要双引号

buffer.append(",");

buffer.append("\"cityname\":\"北京\",");

buffer.append("\"provinceid\":北京市}");

buffer.append("]");

out.print(buffer.toString());

out.close();

接收,解析json

function updateList(){

     clearList();

     var city=document.getElementById("city");

     var res=eval(xmlHttp.responseText);  //eval 把字符串类型的脚本变成语句执行,这里转json

     var option=null;

 

  for(i=0;i<res.length;i++){

      option=document.createElement("option");

      option.appendChild(document.createTextNode(res[i].cityname));

      option.setAttribute("value",res[i].id);

      city.appendChild(option);

  }

}

======文本(把json以字符串输出):输出用户账号和密码列表

response.setContentType("text/xml; charset=UTF-8");

UserInfo user1=new UserInfo();

userInfo.setUserName("admin01");

userInfo.setPwd("adminpwd01");

UserInfo user2=new UserInfo("admin01", "adminpwd02");

List<UserInfo> list=new ArrayList<UserInfo>();

list.add(user1); list.add(user2);

JSONArray userList=JSONArray.fromObject(list);

out.print(userList);

out.close();

 

分享到:
评论

相关推荐

    ajax在jsp、struts、servlet、webwork中的应用

    这个Action类是Struts框架的一部分,它处理来自AJAX请求的数据,并向客户端返回一个简单的文本响应。 ##### 4. Struts配置文件 ```xml &lt;action type=...

    jQuery.Ajax 与action交互

    当Action返回的是XML数据时,我们需要在jQuery.AJAX中指定`dataType: 'xml'`,以便jQuery能正确解析响应。一旦请求成功,`success`回调函数会接收到XML对象,我们可以使用DOM操作或jQuery方法来提取和处理数据。 ...

    AJAX 想Struts2后台传送Json数据并向前台返回Json格式的数据

    // 处理返回的JSON数据 }, error: function(error) { console.error(error); } }); ``` 在Struts2 Action中: ```java public class YourAction extends ActionSupport { private String key; @Param("key")...

    ajax jsp 无刷新上传文件

    3. **无刷新文件上传**:指用户在上传文件的过程中,网页不会重新加载或跳转至其他页面,而是通过某种机制(如AJAX)实现在当前页面完成文件上传过程并返回结果。 #### 二、实现原理及步骤 ##### 1. 前端设计思路 ...

    ajax请求传值Struts2+jsp

    1. **Struts2 Result**:在Struts2配置中,我们可以定义一个Result来处理返回的响应。例如,上面配置的`/jsp/ajaxResponse.jsp`可以生成响应内容。 2. **JSP响应**:在`ajaxResponse.jsp`中,我们可以根据需要生成...

    ajax调用action返回xml或list

    ### AJAX调用ACTION返回XML或LIST详解 #### 一、背景与目的 在Web开发领域,前后端交互是实现动态网站的关键技术之一。通常情况下,开发者可能会选择使用JSP + Ajax + Servlet或JSP + Struts2的方式进行开发。然而...

    Ajax实现的JSP省市级连效果

    dataType: 'json', // 预期服务器返回的数据类型 success: function(cities) { var citySelect = $('#city'); citySelect.empty(); // 清空城市选项 cities.forEach(function(city) { citySelect.append('...

    Struts2+Jquery实现ajax并返回json类型数据

    // 在这里处理返回的数据,例如更新页面元素 }, error: function(xhr, status, error) { // 错误回调 console.error("Error:", error); } }); ``` 接下来,我们会在Struts2的Action中处理请求。创建一个继承自...

    Struts2+ajax+json返回list.docx

    在Web开发中,Struts2、Ajax和JSON的结合使用能实现异步数据交互,提高用户体验。本实例展示了如何在Struts2...同时,注意在处理JSON返回值时,确保正确解析和使用数据,避免出现“[object, object]”这样的错误提示。

    SSH+JSP+SQL+Ajax试题与答案

    在"SSH+JSP+SQL+Ajax试题与答案"的学习资源中,你可能会遇到以下类型的题目: 1. **SSH框架整合**:如何配置Struts、Spring和Hibernate,实现它们之间的协作。 2. **JSP语法与EL(Expression Language)**:理解JSP...

    struts2ajax项目

    在处理完业务逻辑后,Action可以通过`ActionSupport`的`setFieldErrors()`、`addMessage()`等方法设置结果,然后返回一个表示成功或失败的结果名称。 当Ajax请求成功时,jQuery的`success`回调函数会被调用,你可以...

    jQuery+json异步实现JSP和struts2之间的数据传递

    通过设置`dataType: 'json'`,我们可以指定数据类型为JSON,使得服务器返回的数据能被自动解析成JavaScript对象。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    struts2中AJAX实现

    Action类可能有一个返回JSON数据的方法,JSP页面可能包含一个AJAX调用的示例,而JavaScript代码则负责处理响应并更新页面。 综上所述,Struts2与AJAX的结合使得Web应用能够实现无刷新的用户体验,提高了交互性和...

    Ext+JSP实现数据提交

    在`action.js`中,可以配置请求的URL(如`action.html`),数据类型,以及成功或失败的回调函数。 4. **服务器端处理**:`JSP`接收到请求后,会解析请求参数。对于POST请求,这些参数通常位于请求体中;对于GET请求...

    jquery ajax 如何向jsp提交表单数据

    在另一个例子中,通过 jQuery AJAX 从 action 传递值到 JSP 页面,通过获取特定输入字段的值并附加到请求数据中,再发送到服务器。 总结来说,jQuery AJAX 提供了一套简洁的 API,使得向 JSP 等服务器端组件提交...

    Struts2 ajax json使用介绍

    在后端,我们需要创建一个Struts2 Action类,用于处理Ajax请求并返回JSON数据。例如,创建一个名为`AjaxAction.java`的类: ```java import com.opensymphony.xwork2.ActionSupport; import org.apache.struts2....

    ajax 提交数据到后台jsp页面及页面跳转问题

    这里的问题是关于如何使用Ajax提交数据到后台的JSP页面,并在处理完数据后进行页面跳转。我们将详细探讨这个问题以及相关的知识点。 首先,我们看`logincheck.jsp`页面中的代码,它接收通过Ajax传递的参数: ```...

    jsp中利用jquery+ajax在前后台之间传递json格式参数.docx

    在JSP中,使用jQuery和AJAX进行前后台交互是一种常见的技术手段,特别是在处理动态数据和页面局部更新时。在本示例中,主要讲解如何通过AJAX将JSON格式的参数传递给服务器,并接收服务器返回的JSON数据。 首先,...

    Ajax异步请求action接受json案例

    本文将深入探讨如何利用Ajax进行异步请求,特别是针对action的调用,并接收JSON(JavaScript Object Notation)数据,最后将这些数据展示在页面上。 首先,我们需要理解Ajax的基本工作原理。Ajax的核心是...

    struts2 jqurey ajax简单实例

    这里定义了一个名为"ajaxAction"的Action,当接收到Ajax请求时,它将执行`AjaxAction`类,并将结果以JSON格式返回到`/ajaxResult.jsp`。 2. **创建AjaxAction**:在`AjaxAction.java`中,你需要定义一个方法来处理...

Global site tag (gtag.js) - Google Analytics