`

jquery+struts+ajax

    博客分类:
  • J2EE
阅读更多

1.以json的方式返回数据:

http://669341085.iteye.com/admin/blogs/761665

 

2.以xml方式返回数据

转自:

http://lixueli26.iteye.com/blog/698946

 

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

1.jquery 发送请求:

 

Js代码  收藏代码
  1. <em>var provinceurl="/Struts2/jquery/selectProvince.action";  
  2.  $.ajax({  
  3.       url:provinceurl,      
  4.        type: 'POST',   
  5.        dataType: 'xml',  
  6.        data: {name:"lixueli"},                  
  7.        timeout: 1000,                             
  8.        error: function(){                        
  9.        alert('Error loading XML document');   
  10.        },   
  11.        success: function(xml){              
  12.         alert(xml);  
  13.         $(xml).find("province").each(function(){                              
  14.             var provinceId=$(this).children("provinceid").text();         
  15.             var provinceName=$(this).children("provinceName").text();  
  16.             var tempOption = document.createElement("option");   
  17.        tempOption.value = provinceId;  
  18.        tempOption.innerHTML  = provinceName;   
  19.        province.append(tempOption);  
  20.         });  
  21.       }   
  22.   });</em>  

 

 

2.struts2 action 处理请求

  可以有两种方式返回数据

  (1)直接在action中输出

    

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

 

这种方法不用返回结果。

Xml代码  收藏代码
  1. <strong><em><struts>  
  2.   <include file="struts-default.xml"/>  
  3.   <package name="/jquery" extends="struts-default" namespace="/jquery">  
  4.   <action name="selectProvince" class="com.hyts.business.action.xml.JqueryXmlAction" method="selectProvince">  
  5.    </action>  
  6.  </package>  
  7. </struts></em></strong>  

 

 

 (2)把数据输出到页面

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

 jsp页面代码:

Html代码  收藏代码
  1. <strong><em><?xml version='1.0' encoding='UTF-8'?>//一定放在页面开始位置,否则会报解析错误  
  2. <%@ page language="java" contentType="text/xml; charset=UTF-8" pageEncoding="UTF-8"%>  
  3. <%@page import="com.hyts.util.*,java.util.*"%>  
  4.  <%  
  5.     List<Province> provinces = (List<Province>)request.getAttribute("provinces");  
  6.  %>  
  7. <provinces>  
  8. <%  
  9.    for(Province p:provinces)  
  10.    {  
  11. %>  
  12.    <province>  
  13.      <provinceid><%=p.getProvinceId()%></provinceid>  
  14.      <provinceName><%=p.getProvinceName()%></provinceName>  
  15.    </province>  
  16. <%    
  17.    }  
  18. %>  
  19.       
  20. </provinces></em></strong>  

 

 

返回到页面的配置

struts.xml配置

Xml代码  收藏代码
  1. <strong><em><struts>  
  2.   <include file="struts-default.xml"/>  
  3.   <package name="/jquery" extends="struts-default" namespace="/jquery">  
  4.   <action name="selectProvince" class="com.hyts.business.action.xml.JqueryXmlAction" method="selectProvince">  
  5.      <result name="success">/jqueryxml/provinces.jsp</result>//数据先传递到页面  
  6.   </action>  
  7.  </package>  
  8. </struts></em></strong>  

分享到:
评论

相关推荐

    jQuery+Struts+Ajax无刷新分页

    **jQuery+Struts+Ajax无刷新分页** 在Web应用开发中,为了提供更好的用户体验,无刷新分页已经成为一种常见的需求。本项目采用jQuery、Struts2和Ajax技术实现了这样一个功能,用户可以在不重新加载整个页面的情况下...

    Struts2+Jquery+Ajax

    6. Struts2与Ajax的集成,使用JQuery的$.ajax()或$.getJSON()方法 7. 请求与响应的处理,包括参数传递和数据封装 8. 实例演示:使用Struts2+Jquery+Ajax实现动态加载数据或表单验证 "struts2 jar"文件包含了Struts2...

    Jquery+struts2上传图片,制作进度条,以及Jquery+Json+Struts交互等示例

    Jquery+struts2上传图片,制作进度条等示例,还有Jquery+Json+Struts实现Ajax技术,还有图形处理技术等,虽然很少,但都有重点突出,由于我也是学习,所以代码不是很简洁,对想学习交流的朋友非常合适

    json+jquery+struts2+ajax

    struts2 json jquery ajax实现用户登陆及业面跳转

    jquery + struts1 + ajax学习例子

    在IT行业中,jQuery、Struts1和Ajax是三个非常重要的技术,它们分别在网页交互、MVC框架和异步数据传输方面发挥着关键作用。这个"jquery + struts1 + ajax学习例子"提供了结合这三个技术的实践教程,帮助开发者更好...

    jQuery+json+struts2 开发备忘录(一)

    在本篇“jQuery+json+struts2 开发备忘录(一)”中,我们将探讨如何使用这三种技术来构建高效且用户友好的Web应用程序。jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。JSON...

    jquery+struts2实现文件上传

    在本文中,我们将深入探讨如何使用jQuery和Struts2...这涉及前端的HTML表单、jQuery的Ajax调用,以及后端的Struts2 Action处理和文件保存。记得在实际开发中,还要考虑错误处理、文件大小限制、多文件上传等功能扩展。

    struts+jQuery+ajax文件上传带进度条

    Struts、jQuery和Ajax是Web开发中的核心技术,用于构建动态、交互式的用户界面。在这个"struts+jQuery+ajax文件上传带进度条"的项目中,我们主要关注的是如何利用这些技术实现在后台处理文件上传时,前端能够显示...

    struts2+jquery+ajax

    struts2+jquery+ajax实现验证功能

    jquery+struts2+upload

    在IT行业中,jQuery、Struts2和Upload是三个非常重要的技术概念,它们分别代表了JavaScript库、Java Web框架以及文件上传功能。这篇文章将详细解析这三个技术的结合使用,以"jquery+struts2+upload"为例,探讨如何...

    jsp+Struts2.0+jquery+ajax+sqlserver整套jar/js包

    标题中的"jsp+Struts2.0+jquery+ajax+sqlserver整套jar/js包"指的是一套基于Java Web开发的技术栈,其中包括了前端的jQuery和Ajax技术,后端的Struts2框架,以及数据库层的SQL Server支持。这个组合在过去的Web应用...

    jcrop + jquery+struts2 图片裁剪

    jQuery是一个广泛使用的JavaScript库,简化了HTML文档遍历、事件处理、动画以及Ajax交互。在图片裁剪场景中,jQuery提供了一套简洁的API,使得与Jcrop交互变得更加容易。例如,可以通过jQuery选择器定位到图像元素,...

    jQuery+struts2翻页实现

    总结来说,这个项目展示了如何利用jQuery的Ajax功能与Struts2框架协同工作,实现一个动态的、无刷新的翻页功能。在前端,jQuery提供了一个直观的用户界面,而在后端,Struts2处理了数据的获取和更新。通过这样的组合...

    省市联动jquery+struts2

    标题中的“省市联动jQuery+Struts2”是指在Web开发中使用jQuery库和Struts2框架实现的一个功能,即当用户选择一个省份时,相关的城市会动态地在下拉列表中加载出来,提供用户选择。这个功能在很多需要收集用户地址...

    SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白

    这个压缩包中的资源,"SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白",显然提供了一个使用这些技术实现Ajax级联操作的实例。下面将详细介绍这些技术及其在Ajax操作中的应用。 **SSH ...

    JQuery + Struts 分页

    JQuery和Struts是两种常用于构建动态、交互性强的Web应用的技术。结合使用,它们可以创建高效的分页解决方案。以下是关于"JQuery + Struts 分页"的相关知识点的详细说明。 首先,JQuery是一个轻量级的JavaScript库...

    图书管理系统-JQuery+Struts2+JDBC

    这个系统利用了前端的CSS进行页面美化和布局,通过JQuery增强用户体验并引入AJAX技术实现异步数据交换,后端则依赖于Struts 2框架来控制业务逻辑,并用JDBC与SQL Server 2000数据库进行数据交互。 首先,CSS...

    jquery+struts2+spring+hibernate+mysql

    本实例着重讲解了如何将五个核心技术——jQuery、Struts2、Spring、Hibernate和MySQL整合到一起,以创建一个功能丰富的Web应用程序。这些技术各自承担不同的职责,共同构建出强大而灵活的应用层。 首先,jQuery是一...

    jquery+struts2实现异步刷新锁需要的包

    3. **编写jQuery代码**:在客户端,使用jQuery的`.ajax()`方法或者其他Struts2 jQuery插件提供的标签,创建一个Ajax请求,指向服务器上的Struts2 Action。 4. **处理服务器响应**:在Action中,执行必要的业务逻辑...

    struts2+jquery+ajax+servlet

    而在“jQuery+Ajax+Struts2”的例子中,Struts2 Action作为Ajax请求的终点,处理业务逻辑并返回结果。Struts2的配置文件(struts.xml)会定义Action和Result的映射,而Action类会处理请求并返回一个ActionResult,这...

Global site tag (gtag.js) - Google Analytics