贴一个简单的例子,通过jquery的post调用action,定义一个对象User,有name和age属性,实例化几个对象,以json的格式返回到jsp,在前台页面显示出来,模拟用户列表.

  •   导入相关jar包:
  1. ezmorph-1.0.6.jar
  2. json-lib-2.3-jdk15.jar
  3. struts2-json-plugin-2.3.16.1.jar
  • Action代码:
package com.wang.action;

import java.util.ArrayList;
import java.util.List; import com.opensymphony.xwork2.Action;
import com.wang.entity.User; import net.sf.json.JSONArray; public class JsonAction { private JSONArray root; public String execute(){
List<User> list=new ArrayList<User>();
list.add(new User("wang",20));
list.add(new User("yong",22));
list.add(new User("guo",23));
root=JSONArray.fromObject(list);
System.out.println("json="+root.toString());
return Action.SUCCESS;
}
public JSONArray getRoot() {
return root;
} public void setRoot(JSONArray root) {
this.root = root;
} }
  •  jsp页面:
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'ajax.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">
-->
<script type="text/javascript" src="jquery/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#btn1').click(function(){
$.post("json.action",function(data){
var html="";
for(var i=0;i<data.length;i++){
html+="<tr><td>"+data[i].name+"</td><td>"+data[i].age+"</td></tr>";
}
$('#content').html(html);
});
});
$('#btn2').click(function(){
// alert("a");
$('#content').css("display","none");
}); });
</script>
</head> <body>
<input type="button" name="btn" id="btn1" value="获取json"/><br>
<table width="80%" align="center">
<tr>
<td>姓名</td>
<td>年龄</td>
</tr>
<tbody id="content"> </tbody>
</table>
<input type="button" name="btn" id="btn2" value="隐藏json信息"/><br>
</body>
</html>
  • 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>
<!--注意这里继承的json-default,间接地也继承struts-default-->
<package name="default" extends="json-default" namespace="/">
<action name="json" class="com.wang.action.JsonAction">
<result type="json">
<param name="root">root</param>
</result>
</action>
</package>
</struts>

最新文章

  1. C#基础知识简单梳理
  2. REVERSE
  3. M1/M2个人总结
  4. 手写PHP AJAX数据脚本
  5. linux 的iptables防火墙
  6. selenium验证码处理
  7. ASP.NET运行机制原理 ---浏览器与IIS的交互过程 自己学习 网上查了下别人写的总结的很好 就转过来了 和自己写的还好里嘻嘻
  8. dede 5.7进后台卡死解决办法
  9. 转:[gevent源码分析] 深度分析gevent运行流程
  10. spring &lt;form:checkboxes&gt; tag and css class
  11. Unity安装问题
  12. SVN仓库迁移到Git遇到的两个问题和解决办法
  13. [COGS 1799][国家集训队2012]tree(伍一鸣)
  14. 什么是一致性Hash算法?
  15. centos 升级python3
  16. 痞子衡嵌入式:如果你正在量产i.MX RT产品,不妨试试这款神器RT-Flash
  17. 关于javaBean,pojo,EJB
  18. Linux TCP 连接数
  19. sql server 附加只有mdf的数据库文件
  20. FTP原理和虚拟用户映射登录-2019.2.8

热门文章

  1. for循环后面跟分号 - for (i = 0; i &lt;= 3; i++);这不是错误语句
  2. 持续集成及部署利器:Go
  3. Nova PhoneGap框架 第七章 设备事件处理
  4. ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步
  5. MySQL mysqldump数据导出详解
  6. The Hacker&#39;s Guide To Python 单元测试
  7. [公告][重要]Senparc.Weixin v4.9.0 &amp; Senparc.Weixin.MP v14.3.104更新说明
  8. 《Entity Framework 6 Recipes》中文翻译系列 (32) ------ 第六章 继承与建模高级应用之TPH与TPT (1)
  9. 每天一个linux命令(45):free 命令
  10. 获取进程CPU占用率