【Struts2】7.异步提交响应xml和json
来源:互联网 发布:mac 磁盘恢复 编辑:程序博客网 时间:2024/06/06 03:12
1.返回为XML信息的异步交互
jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'getXML.jsp' starting page</title> <script type="text/javascript" src="scripts/jquery-1.4.4.js"></script> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><script type="text/javascript">function getInfo(){$.post("getXMLAction.action", {name: $("#name").val()},function(returnedData, status){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 align='center'><td>" + id + "</td><td>" + name + "</td><td>" + age + "</td><td>" + address + "</td></tr></table>";$("#theBody table:eq(0)").remove();$("#theBody").append(html);});}</script> </head> <body id="theBody"> <select id="name"><option value="zhangsan">zhangsan</option><option value="lisi">lisi</option> </select> <input type="button" value="get information" onclick="getInfo();"></html>
配置文件
定义对应的Action,不指定result
Action:
public class GetXMLAction extends ActionSupport{private String name;public String getName(){return name;}public void setName(String name){this.name = name;}@Overridepublic String execute() throws Exception{ //注明此处People为一个pojo类//zhang sanPeople people1 = new People();people1.setId(1);people1.setName("zhangsan");people1.setAge(30);people1.setAddress("beijing");People people2 = new People();people2.setId(2);people2.setName("lisi");people2.setAge(50);people2.setAddress("tianjin"); //构造XML,通过dom4jDocument document = DocumentHelper.createDocument();Element rootElement = document.addElement("persons");rootElement.addComment("This is comment!!");Element e = rootElement.addElement("person");Element idElement = e.addElement("id");Element nameElement = e.addElement("name");Element ageElement = e.addElement("age");Element addressElement = e.addElement("address");if("zhangsan".equals(name)) {idElement.setText(people1.getId() + "");nameElement.setText(people1.getName());ageElement.setText(people1.getAge() + "");addressElement.setText(people1.getAddress());}else {idElement.setText(people2.getId() + "");nameElement.setText(people2.getName());ageElement.setText(people2.getAge() + "");addressElement.setText(people2.getAddress());}HttpServletResponse response = ServletActionContext.getResponse();response.setContentType("text/xml; charset=utf-8");response.setHeader("cache-control", "no-cache"); PrintWriter out = response.getWriter();//格式化xmlOutputFormat format = OutputFormat.createPrettyPrint();format.setEncoding("utf-8");XMLWriter writer = new XMLWriter(out, format);writer.write(document);out.flush();out.close();return null;}}
2.返回为JSON信息的异步交互
1)与xml的方式类似;
Gson gson = new Gson();String result = gson.toJson(people);HttpServletResponse response = ServletActionContext.getResponse();response.setContentType("application/json; charset=utf-8");response.setHeader("cache-control", "no-cache"); PrintWriter out = response.getWriter();out.print(result);out.flush();out.close();
2)struts2关于json的插件
a.加入插件
b.配置文件的结果result中type=“json”
阅读全文
0 0
- 【Struts2】7.异步提交响应xml和json
- struts2实现异步调用(xml与json)
- struts2+Jquery+Json异步提交(传递复杂JSON对象)
- struts2+jquery实现ajax异步提交并返回json串
- struts2+jquery+ajax异步提交
- ajax 异步提交 struts2 表单
- 在struts2+jquery使用AJAX异步提交数据,处理返回的json数据
- 8、使用Struts2实现异步调用机制剖析(XML与JSON方式解析)
- Jquery异步提交返回json结果问题
- Json实现异步请求(提交评论)
- Json实现异步请求(提交评论)
- Struts2中json的响应技术
- Struts2返回XML,JSON格式
- springmvc和json异步提交报400或者500错误或者415错误
- AJAX同步提交和异步提交方法
- AJAX同步提交和异步提交方法
- form表单同步提交和异步提交
- form表单同步提交和异步提交
- TextToSpeech原生语音播报
- percpu 变量总结
- 打造酷炫RecyclerView 进入 item动画效果
- Can't use method return value in write context
- 阿里巴巴与星巴克合作 AR场景识别首次大规模商用
- 【Struts2】7.异步提交响应xml和json
- MAC 安装 xctool 遇到的问题
- hibernate无法自动建表的原因
- cheerio爬取网页数据,存储到MySQL数据库
- 用Vue开发小程序的框架
- 欢迎使用CSDN-markdown编辑器
- jq实现一些注册页面的按钮点击和不可点击
- Python中的特殊方法、属性和迭代器
- PHP实现简单对称加密