`

Jquery ajax请求Struts2 action 返回xml数据

阅读更多

Jquery 发送ajax请求,action 或servlet 处理请求,并以xml格式返回数据,交给jquery 处理。

1.jquery 发送请求:

 

var provinceurl="/Struts2/jquery/selectProvince.action";
 $.ajax({
      url:provinceurl,    
       type: 'POST', 
       dataType: 'xml',
       data: {name:"lixueli"},                
       timeout: 1000,                           
       error: function(){                      
       alert('Error loading XML document'); 
       }, 
       success: function(xml){            
        alert(xml);
        $(xml).find("province").each(function(){                            
            var provinceId=$(this).children("provinceid").text();       
            var provinceName=$(this).children("provinceName").text();
            var tempOption = document.createElement("option"); 
       tempOption.value = provinceId;
       tempOption.innerHTML  = provinceName; 
       province.append(tempOption);
        });
      } 
  });

 

 

2.struts2 action 处理请求

  可以有两种方式返回数据

  (1)直接在action中输出

    

 public String selectProvince() throws  IOException {
    response.setContentType("text/xml;charset=utf-8"); //(1)一定要在(2)的前面,不然会乱码
    response.setCharacterEncoding("UTF-8"); //(2)
    response.setHeader("Cache-Control", "no-cache"); 
    PrintWriter out=response.getWriter();         //(3)一定要在(1)(2)的后面
    ProvinceDAO provinceDAO = new ProvinceDAO();
    List<Province> list = provinceDAO.getAllProvince();
   StringBuilder sb=new StringBuilder();
   sb.append("<?xml version='1.0' encoding='UTF-8'?><provinces>");//最外层节点唯一,不然报错
   for(Province p:list)
  {
    sb.append("<province>");
    sb.append("<provinceid>"+p.getProvinceId()+"</provinceid>");
    sb.append("<provinceName>"+p.getProvinceName()+"</provinceName>");
    sb.append("</province>");
  }
  sb.append("</provinces>");
  out.print(sb.toString());
  out.flush();
 out.close();
return null;
}
   

 

这种方法不用返回结果。

<struts>
  <include file="struts-default.xml"/>
  <package name="/jquery" extends="struts-default" namespace="/jquery">
  <action name="selectProvince" class="com.hyts.business.action.xml.JqueryXmlAction" method="selectProvince">
   </action>
 </package>
</struts>

 

 

 (2)把数据输出到页面

 request.setAttribute("provinces", list);//前台页面取得数据

 jsp页面代码:

<?xml version='1.0' encoding='UTF-8'?>//一定放在页面开始位置,否则会报解析错误
<%@ page language="java" contentType="text/xml; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.hyts.util.*,java.util.*"%>
 <%
    List<Province> provinces = (List<Province>)request.getAttribute("provinces");
 %>
<provinces>
<%
   for(Province p:provinces)
   {
%>
   <province>
     <provinceid><%=p.getProvinceId()%></provinceid>
     <provinceName><%=p.getProvinceName()%></provinceName>
   </province>
<%  
   }
%>
    
</provinces>

 

 

返回到页面的配置

struts.xml配置

<struts>
  <include file="struts-default.xml"/>
  <package name="/jquery" extends="struts-default" namespace="/jquery">
  <action name="selectProvince" class="com.hyts.business.action.xml.JqueryXmlAction" method="selectProvince">
     <result name="success">/jqueryxml/provinces.jsp</result>//数据先传递到页面
  </action>
 </package>
</struts>

 

 

 

分享到:
评论
2 楼 Jcson 2015-04-16  
好的...谢谢.
1 楼 s5sss 2012-09-22  
               

相关推荐

    JQuery发起ajax请求Struts2,并操作JSON数据的例子

    在本例中,Struts2的Action将处理jQuery发起的Ajax请求,并返回JSON格式的数据。 **JSON (JavaScript Object Notation)** 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Ajax请求中...

    JQuery发送Ajax请求Struts2,并返回JSON的例子

    在Struts2中,我们可以配置Action类来处理Ajax请求,并以JSON格式返回数据。 以下是一个简单的示例步骤: 1. **前端设置**: 在HTML页面中,使用jQuery发起Ajax请求。例如: ```javascript $.ajax({ url: ...

    jquery ajax json struts2最简单例子测试成功

    2. **JSON与Struts2的结合**:Struts2 Action执行后返回一个JSON字符串,这个字符串被jQuery AJAX请求接收。通过Struts2的插件,如struts2-json-plugin,可以在Action类中直接返回一个包含JSON数据的对象,Struts2会...

    Struts2+Jquery+Ajax

    在Struts2框架下,我们可以使用Jquery的Ajax方法向服务器发送请求,获取JSON或XML数据,然后动态更新页面的部分内容。 在"06-mvc之struts2.ppt"中,可能涵盖了以下内容: 1. Struts2框架的基本概念和架构 2. 如何...

    Jquery struts2 json 实现ajax

    标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...

    jquery的ajax传json对象数组到struts2的action

    在Web开发中,jQuery的AJAX功能经常被用于与服务器进行异步数据交换,而Struts2作为一款流行的Java Web框架,提供了处理前端请求的能力。本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action...

    Jquery_Ajax_Struts2_Action_JSP_Json

    总结起来,"Jquery_Ajax_Struts2_Action_JSP_Json"的示例展示了如何利用jQuery的Ajax功能与Struts2框架相结合,通过JSON数据格式在客户端和服务器端之间进行高效的数据交换,从而实现无刷新的页面更新,提升Web应用...

    Ajax与Struts2异步请求数据

    通过配置Struts2拦截器、使用JSON插件以及编写适当的动作类和前端页面,开发者可以轻松实现异步数据请求和更新。这种技术在现代Web应用中广泛使用,特别是在需要动态加载数据的场景下,如分页、搜索结果展示等。

    struts2+jquery执行ajax并返回json类型数据(源码)

    在本示例中,Struts2将处理来自jQuery的Ajax请求,并返回JSON格式的响应数据。 jQuery则是一个轻量级的JavaScript库,简化了DOM操作、事件处理和Ajax交互。在本例中,jQuery的`$.ajax()`方法用于发起异步请求,获取...

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

    通过JavaScript(通常是jQuery库)创建异步请求,我们可以向Struts2 Action发送JSON数据,同时接收返回的JSON数据。例如,使用jQuery的`$.ajax`或`$.getJSON`方法,构建一个请求,将JSON对象作为数据发送,并设置...

    jquery ajax +struts1.3

    jQuery的$.ajax()方法是实现AJAX的核心,它允许开发者发送异步请求到服务器,并处理返回的数据。 Struts 1.3是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,用于构建可维护性和可扩展性高的企业级...

    struts2+ajax+jquery

    在Struts2的配置文件(struts.xml)中,我们需要定义一个对应的Action,该Action将处理来自Ajax请求的数据,并返回响应。例如: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;action...

    Struts2 与Jquery Ajax的json数据交换的典型范例

    总结,Struts2和jQuery的Ajax JSON数据交换涉及以下几个关键步骤:配置Struts2的JSON插件,编写返回JSON数据的Action,使用jQuery发起Ajax请求并处理返回的JSON数据。通过这种方式,可以实现客户端与服务器之间的...

    Struts2+jQuery ajax的一个商品小系统

    2. **Struts2 Action**:创建处理商品操作的Action类,如`AddProductAction`、`DeleteProductAction`等,这些Action对应用户的请求,处理业务逻辑并返回结果。 3. **Service层**:定义业务接口和服务实现,用于处理...

    ajax-struts2需要的3个包

    Struts2 JSON插件增强了框架处理JSON请求和响应的能力,使得开发者能够方便地将Action的结果以JSON格式输出,供Ajax调用。通过这个插件,你可以配置Struts2的动作类,使其能够直接返回JSON对象,而无需额外的视图层...

    struts2ajax项目

    在Struts2配置文件(struts.xml)中,你需要为这个Action定义一个URL映射,确保jQuery可以正确地发送请求到服务器: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;action name="your...

    使用struts2+JQuery实现的简单的ajax例子

    在`struts.xml`中配置这个Action,确保它能接收GET或POST请求,并指定一个结果类型为`json`,这使得Struts2能够以JSON格式返回数据。 2. **编写AjaxAction**: 创建`AjaxAction.java`,在其中定义一个方法,如`...

    JQuery EasyUI 整合struts2 代码下载

    - 创建Struts2的Action,处理前端的AJAX请求。Action会调用服务层方法,执行业务逻辑。 - 在Struts2的配置文件中定义Action的映射,以及返回的结果类型。对于JSON数据,可以使用Struts2的JSON插件,使得Action可以...

    Struts2整合jQuery实现Ajax功能

    在本案例中,我们将探讨如何使用 Struts2 的 Action 配合 jQuery 的 AJAX 方法来实现实时验证和数据交换。 首先,我们需要了解 jQuery。jQuery 是一个强大的 JavaScript 库,它简化了 DOM 操作、事件处理、动画以及...

    jquery下的ajax与struts2操作数据库

    在实现上述功能时,需要确保Struts2的配置文件(struts.xml)正确地定义了相应的Action,并且Action类中包含了处理AJAX请求的方法。同时,前端的HTML和jQuery代码需要正确地绑定事件和处理响应。 总的来说,结合...

Global site tag (gtag.js) - Google Analytics