首页 / JSON / struts2返回json格式的数据
struts2返回json格式的数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了struts2返回json格式的数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3600字,纯文字阅读大概需要6分钟。
内容图文
![struts2返回json格式的数据](/upload/InfoBanner/zyjiaocheng/1129/031864ad89f842e7bb1930fc888d0c23.jpg)
描述:当前端使用ajax发送请求到action时,如果需要返回json格式的数据,如对象集合。具体做法如下:
前端代码:
<%@ 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 ‘enty_json.jsp‘ starting page</title> <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"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <!-- 引入jquery --> <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.9.1.js"></script> <script type="text/javascript"> function loadUsers(){ $.ajax({ url: "user.action", type:"post", // data:"name="+$(‘#name‘)[0].value+"&password=123",//向后台传送的数据格式 dataType:"json", success: function(data, textStatus){ alert(textStatus); $.each(data,function(n,value){ var str = "<tr><td>"+value.id+"</td><td>"+value.name+"</td></tr>"; $("#userList").append(str); }); }, error:function(XMLHttpRequest, textStatus, errorThrown){ alert(textStatus); } }); } </script> </head> <body> <input type="button" id="btn" onClick="loadUsers()" value="加载对象列表"> <center> <div>对象列表</div> <table id="userList"> <tr><td>ID</td><td>姓名</td></tr> </table> </center> </body> </html>
action中的代码:
package action; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import dao.UserDao; import enty.User; public class UserAction extends ActionSupport{ private List< User> lists = new ArrayList<User>(); //使用struts2返回json数据,需要在struts.xml配置要返回的数据public String execute() { UserDao userDao = new UserDao(); lists = userDao.getUserList(); return "success"; } //传统方式返回ajax数据,这种返回方式不需要再配置文件中配置public String getState(){ System.out.println("传统的ajax"); HttpServletResponse response = ServletActionContext.getResponse(); try { PrintWriter out = response.getWriter(); out.println("{\"success\":\"true\",\"type\":\"succ\"}"); } catch (Exception e) { e.printStackTrace(); } returnnull; } //这个方法必须写上public List<User> getLists() { return lists; } publicvoid setLists(List<User> lists) { this.lists = lists; } }
struts.xml配置文件的配置如下:
<? xml version="1.0" encoding="UTF-8" ?> <! DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > < struts > <!-- 禁用动态方法调用(即禁用xxx!add.action方式的调用,因为Struts2.1版本开始就不建议这种方式的使用) --> < constant name ="struts.enable.DynamicMethodInvocation" value ="false" /> < package name ="struts2" extends ="struts-default,json-default" > < action name ="user_*" class ="action.UserAction" method ="{1}" > < result name ="success" type ="json" > < param name ="root" >lists</param><!-- action中的属性 --></result></action></package></struts>
原文:http://www.cnblogs.com/kailing-con/p/4281705.html
内容总结
以上是互联网集市为您收集整理的struts2返回json格式的数据全部内容,希望文章能够帮你解决struts2返回json格式的数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。