`
aa8945163
  • 浏览: 276253 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ajax + struts2 + xml

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


1.jquery 发送请求:




Js代码 


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中输出

    

Java代码 


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;
}   


这种方法不用返回结果。


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">
   </action>
</package>
</struts>



(2)把数据输出到页面

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

jsp页面代码:


Html代码 


<?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配置


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>
分享到:
评论

相关推荐

    ZTree+Struts2+ajax+json实现checkbox权限树

    【标题】"ZTree+Struts2+ajax+json实现checkbox权限树"涉及的技术栈主要集中在前端的ZTree,后端的Struts2框架,以及数据交互中的Ajax和JSON。这个项目的核心目标是构建一个可复选的权限树形结构,用户通过勾选节点...

    ajax+struts+jsp的用户名验证

    2. **Struts框架**:Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。在用户名验证中,Struts负责处理来自Ajax的请求,执行相应的业务逻辑,比如查询数据库确认用户名是否已存在。配置文件`...

    ajax+struts2.0+jsp下拉列表级联

    3. Struts2 Action处理:在Struts2的Action类中,接收AJAX请求,根据请求参数执行相应的业务逻辑,比如从数据库中查询关联数据。 4. 数据处理:查询到的数据转化为JSON格式,这是AJAX请求期望的响应格式。Struts2...

    精通Java Web整合开发(Jsp+Ajax+Struts+Hibernate)(第2版).part1

    综上所述,《精通Java Web整合开发(Jsp+Ajax+Struts+Hibernate)(第2版)》这本书主要介绍了如何使用JSP、Ajax、Struts、Hibernate以及Spring等技术进行Web应用的开发,涵盖了这些技术的基本概念、核心功能及实际应用...

    Struts2+Jquery+Ajax

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

    jsp+ajax+struts

    这个组合涉及到Java服务器页面(JSP)、异步JavaScript和XML(AJAX)以及Struts框架,这三者在Web开发中的角色如下: 1. **Java服务器页面(JSP)**: JSP是Java平台上的动态网页技术,允许开发者在HTML代码中嵌入...

    Ajax+Struts应用(完整源码)

    Struts 根据配置的 Action 映射来执行相应的业务逻辑,处理完成后,结果可以以 JSON 或 XML 格式返回给 Ajax 请求。客户端接收到数据后,JavaScript 代码负责动态更新页面内容。 在这个完整的源码应用中,我们可以...

    ajax+struts分页

    本项目是关于“Ajax+Struts”实现分页的一个实例,旨在利用这两种技术的优势,提供一个高效、动态且用户友好的分页解决方案。 首先,让我们来理解一下核心概念: 1. **Ajax(Asynchronous JavaScript and XML)**...

    用案例学Java Web整合开发:Java+Eclipse+Struts 2+Ajax

    Java Web整合开发是构建Web应用程序的关键技术,涵盖了Java语言、Eclipse集成开发环境(IDE)、Struts 2框架以及Ajax异步JavaScript和XML技术。这个主题深入探讨了这些技术如何协同工作,创建出高效、用户友好的Web...

    java web 实战宝典_JSP+Servlet+Struts_2+Hibernate+Spring+Ajax

    根据标题、描述和部分内容,知识点覆盖范围主要集中在Java Web开发领域,并且包括了JSP、Servlet、Ajax以及SSH框架(Struts 2、Spring、Hibernate)的技术整合和实战案例分析。 JSP(Java Server Pages)是一种动态...

    OCR文字识别demo(Ajax+Struts2)

    本项目名为"OCR文字识别demo(Ajax+Struts2)",是一个结合了前端Ajax技术与后端Struts2框架实现的OCR(Optical Character Recognition,光学字符识别)应用示例。OCR技术主要用于将图像中的文本转换为可编辑、可...

    struts2+ajax+easyui+json+datagrid增删改查

    Struts2、Ajax、EasyUI、JSON 和 DataGrid 是现代Web开发中常用的技术组合,用于构建功能丰富的交互式用户界面。下面将详细解释这些技术及其在实现增删改查、分页和排序功能中的作用。 **Struts2** 是一个基于MVC...

    json+ajax+struts2

    总之,JSON、AJAX和Struts2的结合,极大地提升了Web应用的用户体验和开发效率,通过MyEclipse等工具的支持,使得这种结合变得更加便捷和高效。在实际开发中,熟练掌握这些技术,对于提升Web应用的质量和性能至关重要...

    Java+Ajax+struts2的web网页聊天

    【Java+Ajax+Struts2的Web网页聊天】是一个典型的前后端交互的Web应用程序实例,主要结合了Java后端处理、Ajax异步通信以及Struts2框架的技术来实现即时通讯功能。下面将详细阐述这三个技术在构建Web网页聊天中的...

    Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex

    Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex

    Ajax+struts用户验证

    在Web开发中,Ajax(Asynchronous JavaScript and XML)技术与Struts框架的结合可以创建出交互性更强、用户体验更佳的动态网页应用。本主题主要探讨如何利用Ajax和Struts进行用户验证,特别是针对用户注册时的用户名...

    spring+struts2+hibernate+ajax+jfreechart 广告管理系统

    《构建基于Spring、Struts2、Hibernate、Ajax与JFreeChart的广告管理系统》 在现代企业信息化建设中,广告管理系统的开发是至关重要的,它能够有效地整合广告资源,提高工作效率,减少人工操作错误。本系统利用了...

    Ajax+Struts+HIbernate实现省市联动

    2. 配置Struts:定义Action类来处理Ajax请求,根据省份ID获取城市列表,并将其转化为JSON格式,以便Ajax能理解。 3. 使用Ajax:在前端页面上,当用户选择省份时,触发Ajax请求,向服务器发送省份ID。 4. Hibernate...

    ajax + struts2 jar 包 java开发者必备的jar包 项目中刚使用

    在Java开发领域,Ajax(Asynchronous JavaScript and XML)与Struts2框架的结合是构建高效、动态Web应用程序的常见选择。这两个技术的整合为开发者提供了强大的功能,使得前端交互更加流畅,后端处理更加灵活。这里...

    使用ajax+struts+hibernate+spring的blog

    - **配置文件**:Struts2的struts.xml配置文件、Hibernate的hibernate.cfg.xml及实体对应的hbm.xml文件、Spring的applicationContext.xml配置文件等。 **学习与实践**: 通过这个项目,你可以了解到如何整合这四大...

Global site tag (gtag.js) - Google Analytics