`
tianpeng1006
  • 浏览: 6070 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

struts2 jquery xml

阅读更多
1.引入下jquery.js类库 http://jquery.com/ 建立页面xmlTest.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <script type="text/javascript" src="jquery/jquery.js"></script>
    <script type="text/javascript">
    function getInfo()
    {
		$.post("getXmlAction.action",
		{   
			//发送参数name及值
			name: $("#name").val()
		}, function(returnedData, status)
		{     
			//服务器返回成功的值
			if("success" == status)
			{  
				//根据服务器返回的xml,获取各个节点的值
				var id = $(returnedData).find("id").text();
				var name = $(returnedData).find("name").text();
				var age = $(returnedData).find("age").text();
				var address = $(returnedData).find("address").text();
                //动态添加表格
				var html = "<table width='60%' border='1' align='center'><tr><th>id</th><th>name</th><th>age</th><th>address</th></tr><tr align='center'><td>" + id + "</td><td>" + name + "</td><td>"+ age + "</td><td>" + address + "</td></tr></table>";
                //获得浏览器值,先清空浏览器表格数据   
				$("body table:eq(0)").remove();
                 //把动态获取的表格添加到页面中 
				$("#theBody").append(html);
			}
		}
		);
    }
    </script>
  </head>
  <body id="theBody">
   <select id="name">
   		<option value="zhangsan" selected="selected">zhangsan</option>
   		<option value="lisi">lisi</option>
   </select>
   <input type="button" value="get info" onclick="getInfo();">
  </body>
</html>

2 简单struts.xml文件的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<package name="struts2.1" extends="json-default">
		<action name="getXmlAction" class="com.test.action.xml.GetXmlAction"></action>
	</package>
</struts>  

3 使用dom4j创建xml文档 下载dom4j.jar引入到项目
http://www.dom4j.org/dom4j-1.6.1/
package com.test.action.xml;

import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import com.opensymphony.xwork2.ActionSupport;
public class GetXmlAction extends ActionSupport {
	private String name;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String execute() throws Exception {
		//zhangsan
		Person person1 = new Person();
		person1.setId(1);
		person1.setName("zhangsan");
		person1.setAge(20);
		person1.setAddress("shanghai");
		
		//lisi
		Person person2 = new Person();
		person2.setId(2);
		person2.setName("lisi");
		person2.setAge(30);
		person2.setAddress("tianjin");
		
		//代表整个xml文档
		Document document = DocumentHelper.createDocument(); 
		//代表文档根元素
		Element rootElement = document.addElement("users");
		//增加一个注释
		rootElement.addComment("This is a comment!");		
		//增加一个根元素下的一个user子元素
		Element userElement = rootElement.addElement("user");		
		//增加一个user子元素的一个各个user属性子元素
		Element idElement = userElement.addElement("id");
		Element nameElement = userElement.addElement("name");
		Element ageElement = userElement.addElement("age");
		Element addressElement = userElement.addElement("address");
		
		//文档节点赋值
		if("zhangsan".equals(this.name))
		{
			idElement.setText(person1.getId() + "");
			nameElement.setText(person1.getName());
			ageElement.setText(person1.getAge() + "");
			addressElement.setText(person1.getAddress());
		}
		else
		{
			idElement.setText(person2.getId() + "");
			nameElement.setText(person2.getName());
			ageElement.setText(person2.getAge() + "");
			addressElement.setText(person2.getAddress());
		}
		
		//获得客户端的相应的response对象   并设置向客户端输出的格式
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("text/xml; charset=utf-8");//客户端的输入格式 和字体
		response.setHeader("Cache-Control", "no-cache"); //取消浏览器缓存
		
	    //获取向客户端输出流
		PrintWriter out = response.getWriter();
		
		//dom4j的输出格式
		OutputFormat format = OutputFormat.createPrettyPrint();
		format.setEncoding("utf-8");
		
		XMLWriter writer = new XMLWriter(out, format);
		//把文档格式document写到输出流中out中  返回给客户端
		writer.write(document);		
		out.flush();
		out.close();		
		return null;
	
	}
}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Struts2+Jquery+Ajax

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

    jquery和struts2的整合

    **jQuery与Struts2整合详解** 在Web开发中,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。而Struts2是一个基于MVC设计模式的Java Web框架,用于构建可维护性和可扩展性高的...

    struts2 jquery插件

    标题:"struts2 jquery插件" 描述:"Struts2-15使用JQuery插件" 在探讨Struts2与jQuery插件的结合时,我们深入分析了如何在Struts2框架中集成并利用jQuery插件来增强Web应用程序的交互性和用户体验。Struts2作为一...

    struts2下jquery-ui的全部实例

    2. **配置Struts2**:在`struts.xml`配置文件中添加必要的拦截器和结果类型,确保可以处理AJAX请求。 3. **使用jQuery UI组件**: - **日期选择器(DatePicker)**:例如,可以使用`,然后在JavaScript中添加`$("#...

    Struts2+jquery

    Struts2和jQuery是两种非常重要的Web开发技术。Struts2是Java企业级应用中广泛使用的MVC(Model-View-Controller)框架,它提供了一种结构化的方式来组织和管理Web应用程序,使得开发者能够更有效地处理请求、控制...

    Struts2JQueryJson

    Struts2JQueryJson是一个基于Struts2框架与jQuery库,结合JSON(JavaScript Object Notation)数据格式,实现Ajax异步加载对象数据的技术方案。在Web应用开发中,这种技术可以提升用户体验,因为它允许页面部分内容...

    struts jquery

    2. **配置与注解**:Struts 2支持XML配置和注解配置,让开发者可以选择更适合自己的方式来定义动作和结果。 3. **强大的结果类型(Result Types)**:提供了多种结果类型,如Redirect、Stream、Freemarker、JSP等,...

    购物车(struts2+jquery)

    【购物车(struts2+jquery)】是一个典型的Web应用程序示例,主要展示了如何使用Struts2框架与jQuery库来实现动态、交互式的购物车功能。这个项目特别适合那些想要学习或加深对AJAX技术理解的开发者。接下来,我们将...

    Jquery与struts2

    **jQuery与Struts2整合详解** 在Web开发中,jQuery是一个强大的JavaScript库,它极大地简化了JavaScript的使用,使得前端交互更加便捷高效。而Struts2作为一款成熟的MVC框架,广泛应用于Java后端开发,提供了强大的...

    struts2 整合jQuery 和 json 的全部jar包

    在Struts2环境中,jQuery可以发起异步请求到Struts2 Action,接收并处理返回的JSON数据。 3. **JSON数据交换**:在Struts2 Action中,你可以创建一个返回JSON的对象,例如: ```java public class MyAction { ...

    struts2+JQuery完整集成lib包

    Struts2的配置文件(struts.xml)用于定义Action、Result和拦截器链。 2. **JQuery库**:jQuery库简化了DOM操作、事件处理、动画效果和Ajax请求。它的选择器语法简单直观,可以方便地选取HTML元素。同时,jQuery...

    Jquery struts2 json 实现ajax

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

    关于Struts2与Jquery实现无刷新分页的不解问题

    Struts2和jQuery是两种非常重要的Java Web开发技术。Struts2是一个强大的MVC框架,它简化了基于Java的企业级应用程序开发,而jQuery则是一个高效、简洁的JavaScript库,极大地提升了网页开发的效率和用户体验。在...

    Struts1 Struts2 JQuery api

    Struts1、Struts2和JQuery是Java Web开发中非常重要的三个库,它们各自扮演着不同的角色,共同为构建动态、交互式的Web应用程序提供强大的支持。以下是对这些技术的详细解释: **Struts1** Struts1是Apache软件基金...

    struts2+ajax+jquery

    在这个"struts2+ajax+jquery"的主题中,我们将深入探讨如何利用Struts2、jQuery和Ajax技术实现Web页面的异步交互。 首先,Struts2作为MVC框架,它的核心是Action,它负责处理用户的请求,并通过配置的Result返回...

    Struts2 JQueryJson例子 .rar

    这个"Struts2 JQueryJson例子 .rar"压缩包很可能是包含了一个实际的项目实例,演示了如何在Struts2框架中利用JQuery和JSON进行数据交互。下面将详细讲解Struts2、JQuery和JSON的相关知识点: 1. **Struts2框架**: ...

    struts2 jquery.uploadify

    Struts2 jQuery Uploadify是一个整合了Struts2框架与jQuery Uploadify插件的示例项目,主要用于实现文件上传的功能。这个简单的demo展示了如何在Struts2应用中集成jQuery Uploadify,以便提供用户友好的、多文件异步...

    struts2整合jquery实现层拖拽即时保存。源码

    7. **文件组织**:虽然没有提供具体的压缩包文件列表,但在实际项目中,可能包含Struts2的配置文件(如struts.xml)、Action类、JSP页面、CSS样式表和JavaScript脚本等。这些文件的合理组织对于项目的可维护性和扩展...

    struts2-jquery-plugin使用手册,自己写的

    - 其次,配置Struts2的核心配置文件(struts.xml),启用插件并指定主题样式。 3. **使用jQuery UI组件** - 插件提供了一系列的标签库,可以直接在JSP页面中使用,例如`&lt;s:jquery&gt;`、`&lt;sj:datepicker&gt;`、`...

Global site tag (gtag.js) - Google Analytics