A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

学习了异步、可进行无页面刷新效果!分享下我写的代码、以供大家参考一下、不足之处望各位老马不要喷水!

效果图:








第一步、新建项目导入需要的包(具体项目结构如图、相应的包附件中有)


第二步、配置web.xml
  1. <font size="3"><filter>
  2.           <filter-name>struts2</filter-name>
  3.           <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  4.   </filter>
  5.   <filter-mapping>
  6.          <filter-name>struts2</filter-name>
  7.          <url-pattern>/*</url-pattern>
  8.   </filter-mapping></font>
复制代码

第三步、新建实体类(User)

  1. <font size="3">package json.po;
  2. /*
  3.        用户类
  4. */
  5. public class User {
  6.        private String uid;                        //编号
  7.        private String name;                //姓名
  8.        private String sex;                        //性别
  9.        private int age;                        //年龄
  10.        private String address;                //地址
  11.        
  12.        //set、get 省略....
  13. }</font>
复制代码

第四步、页面设计
  1. <font size="3"><html>
  2. <head>
  3. <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.9.1.js"></script>
  4. <script type="text/javascript" src="${pageContext.request.contextPath}/js/test.js"></script>

  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. <title>首页</title>
  7. </head>
  8. <body>
  9.             <input type="button" value="获取对象" onclick="user()"/>
  10.              <table id="user_tab"></table>
  11.        
  12.             <input type="button" value="获取list" onclick="list()"/>
  13.             <table id="list_tab"></table>
  14.        
  15.             <input type="button" value="获取Map值" onclick="map()"/>
  16.             <table id="map_tab"></table>
  17. </body>
  18. </html></font>
复制代码

第五步、Action类
  1. <font size="3">public class Test_Action extends ActionSupport {
  2.         /**
  3.          * @author 等待时候
  4.          *
  5.          */
  6.         private static final long serialVersionUID = 1L;
  7.        
  8.           private User user;                                //使用json返回对象
  9.           private List<User> list;                //使用json返回list
  10.           private Map<String,User> map;        //使用json返回map
  11.        
  12.           public Map<String, User> getMap() {
  13.                     return map;
  14.           }
  15.           public void setMap(Map<String, User> map) {
  16.                    this.map = map;
  17.           }
  18.           public List<User> getList() {
  19.                     return list;
  20.           }
  21.           public void setList(List<User> list) {
  22.                   this.list = list;
  23.           }
  24.           public User getUser() {
  25.                  return user;
  26.           }
  27.           public void setUser(User user) {
  28.                 this.user = user;
  29.           }

  30.            //给对象设值
  31.            public User returnUser(){
  32.                 </font><span style="font-size: medium;">User </span><span style="font-size: medium;">user = new User();</span>
复制代码
第六步、Struts配置
  1. <font size="3"><package name="default" namespace="/" extends="struts-default">
  2.             <action name="action_*" method="{1}" class="json.action.Test_Action">
  3.                       <result name="success"/>
  4.             </action>
  5.         </package></font>
复制代码

第七步、JS页面
  1. <font size="3">//获取对象
  2. function user(){
  3.         //$.post(url, [data], [callback], [type])                        具体使用方法参考附件jQuery-api-1.7.1_20120209.chm  帮助文档
  4.         /*
  5.                 url:发送请求地址。
  6.        
  7.                 data:待发送 Key/value 参数。
  8.        
  9.                 callback:发送成功时回调函数。        function(date){}        date用来接收后台返回值,形参
  10.        
  11.                 type:返回内容格式,xml, html, script, json, text, _default。
  12.          */
  13.        
  14.        
  15.        
  16.        
  17.         $.post("action_User",function(date){
  18.                   //显示之前清空、以免重复,否则重复单击按钮时会重复
  19.                 $("#user_tab").empty();
  20.                    //添加表格头标题
  21.                 $("#user_tab").append("<tr><th>编号</th><th>姓名</th><th>性别</th><th>年龄</th><th>地址</th></tr>");
  22.                 $("#user_tab").append("<tr><td>"+date.uid+"</td><td>"+date.name+"</td><td>"+date.sex+"</td><td>"+date.age+"</td><td>"+date.address+"+                     +"</td></tr>");
  23.               },"json");
  24. }


  25. //获取list
  26. function list(){
  27.               $.post("action_list",function(date){
  28.              //显示之前清空、以免重复,否则重复单击按钮时会重复
  29.              $("#list_tab").empty();
  30.                
  31.              $("#list_tab").append("<tr><th>编号</th><th>姓名</th><th>性别</th><th>年龄</th><th>地址</th></tr>");
  32.              //list存放多个对象、使用循环遍历.                具体使用方法参考附件jQuery-api-1.7.1_20120209.chm  帮助文档
  33.                
  34.              $.each(date,function(i,j){
  35.                    $("#list_tab").append("<tr><td>"+j.uid+"</td><td>"+j.name+"</td><td>"+j.sex+"</td><td>"+j.age+"</td><td>"+j.address+"</td></tr>");
  36.             });
  37.             },"json");
  38. }



  39. //获取Map
  40. function map(){
  41.                  $.post("action_map",function(date){
  42.                   //显示之前清空、以免重复,否则重复单击按钮时会重复
  43.                   $("#map_tab").empty();
  44.                   $("#map_tab").append("<tr><th>编号</th><th>姓名</th><th>性别</th><th>年龄</th><th>地址</th></tr>");
  45.                
  46.                //迭代遍历输出
  47.                 $.each(date,function(key,value){
  48.                       $("#map_tab").append("<tr><td>"+value.uid+"</td><td>"+value.name+"</td><td>"+value.sex+"</td><td>"+value.age+"</td>"+                                              +"<td>"+value.address+"</td></tr>");
  49.                  });   
  50.             },"json");
  51. }</font>
复制代码


如果觉得行的话、给个技术分,为进黑马一直在努力......
由于帖子附件大小有限、所有传在360网盘上、希望能够帮助你们
游客,如果您要查看本帖隐藏内容请回复



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马