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。这个项目的核心目标是构建一个可复选的权限树形结构,用户通过勾选节点...
2. **Struts框架**:Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。在用户名验证中,Struts负责处理来自Ajax的请求,执行相应的业务逻辑,比如查询数据库确认用户名是否已存在。配置文件`...
3. Struts2 Action处理:在Struts2的Action类中,接收AJAX请求,根据请求参数执行相应的业务逻辑,比如从数据库中查询关联数据。 4. 数据处理:查询到的数据转化为JSON格式,这是AJAX请求期望的响应格式。Struts2...
综上所述,《精通Java Web整合开发(Jsp+Ajax+Struts+Hibernate)(第2版)》这本书主要介绍了如何使用JSP、Ajax、Struts、Hibernate以及Spring等技术进行Web应用的开发,涵盖了这些技术的基本概念、核心功能及实际应用...
在Struts2框架下,我们可以使用Jquery的Ajax方法向服务器发送请求,获取JSON或XML数据,然后动态更新页面的部分内容。 在"06-mvc之struts2.ppt"中,可能涵盖了以下内容: 1. Struts2框架的基本概念和架构 2. 如何...
这个组合涉及到Java服务器页面(JSP)、异步JavaScript和XML(AJAX)以及Struts框架,这三者在Web开发中的角色如下: 1. **Java服务器页面(JSP)**: JSP是Java平台上的动态网页技术,允许开发者在HTML代码中嵌入...
Struts 根据配置的 Action 映射来执行相应的业务逻辑,处理完成后,结果可以以 JSON 或 XML 格式返回给 Ajax 请求。客户端接收到数据后,JavaScript 代码负责动态更新页面内容。 在这个完整的源码应用中,我们可以...
本项目是关于“Ajax+Struts”实现分页的一个实例,旨在利用这两种技术的优势,提供一个高效、动态且用户友好的分页解决方案。 首先,让我们来理解一下核心概念: 1. **Ajax(Asynchronous JavaScript and XML)**...
Java Web整合开发是构建Web应用程序的关键技术,涵盖了Java语言、Eclipse集成开发环境(IDE)、Struts 2框架以及Ajax异步JavaScript和XML技术。这个主题深入探讨了这些技术如何协同工作,创建出高效、用户友好的Web...
根据标题、描述和部分内容,知识点覆盖范围主要集中在Java Web开发领域,并且包括了JSP、Servlet、Ajax以及SSH框架(Struts 2、Spring、Hibernate)的技术整合和实战案例分析。 JSP(Java Server Pages)是一种动态...
本项目名为"OCR文字识别demo(Ajax+Struts2)",是一个结合了前端Ajax技术与后端Struts2框架实现的OCR(Optical Character Recognition,光学字符识别)应用示例。OCR技术主要用于将图像中的文本转换为可编辑、可...
Struts2、Ajax、EasyUI、JSON 和 DataGrid 是现代Web开发中常用的技术组合,用于构建功能丰富的交互式用户界面。下面将详细解释这些技术及其在实现增删改查、分页和排序功能中的作用。 **Struts2** 是一个基于MVC...
总之,JSON、AJAX和Struts2的结合,极大地提升了Web应用的用户体验和开发效率,通过MyEclipse等工具的支持,使得这种结合变得更加便捷和高效。在实际开发中,熟练掌握这些技术,对于提升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
在Web开发中,Ajax(Asynchronous JavaScript and XML)技术与Struts框架的结合可以创建出交互性更强、用户体验更佳的动态网页应用。本主题主要探讨如何利用Ajax和Struts进行用户验证,特别是针对用户注册时的用户名...
《构建基于Spring、Struts2、Hibernate、Ajax与JFreeChart的广告管理系统》 在现代企业信息化建设中,广告管理系统的开发是至关重要的,它能够有效地整合广告资源,提高工作效率,减少人工操作错误。本系统利用了...
2. 配置Struts:定义Action类来处理Ajax请求,根据省份ID获取城市列表,并将其转化为JSON格式,以便Ajax能理解。 3. 使用Ajax:在前端页面上,当用户选择省份时,触发Ajax请求,向服务器发送省份ID。 4. Hibernate...
在Java开发领域,Ajax(Asynchronous JavaScript and XML)与Struts2框架的结合是构建高效、动态Web应用程序的常见选择。这两个技术的整合为开发者提供了强大的功能,使得前端交互更加流畅,后端处理更加灵活。这里...
- **配置文件**:Struts2的struts.xml配置文件、Hibernate的hibernate.cfg.xml及实体对应的hbm.xml文件、Spring的applicationContext.xml配置文件等。 **学习与实践**: 通过这个项目,你可以了解到如何整合这四大...