struts 与 jquery 整合

引用:http://laoquan2010.iteye.com/blog/325224

1、首先导入几个jar包 
        commons-beanutils.jar 
        commons-collections.jar 
        commons-logging.jar 
        commons-lang.jar 
        ezmorph-1.0.6.jar 
        json-lib-2.2.3-jdk.jar 
2、服务器端处理程序 

Java代码  收藏代码
  1. 1/**//* 
  2.  2 * Generated by MyEclipse Struts 
  3.  3 * Template path: templates/java/JavaClass.vtl 
  4.  4 */  
  5.  5package com.sailor.test.action;  
  6.  6  
  7.  7import java.io.IOException;  
  8.  8import java.io.PrintWriter;  
  9.  9import java.util.ArrayList;  
  10. 10import java.util.List;  
  11. 11  
  12. 12import javax.servlet.http.HttpServletRequest;  
  13. 13import javax.servlet.http.HttpServletResponse;  
  14. 14  
  15. 15  
  16. 16import net.sf.json.JSONArray;  
  17. 17  
  18. 18import org.apache.struts.action.Action;  
  19. 19import org.apache.struts.action.ActionForm;  
  20. 20import org.apache.struts.action.ActionForward;  
  21. 21import org.apache.struts.action.ActionMapping;  
  22. 22  
  23. 23import com.sailor.test.action.form.LoginForm;  
  24. 24import com.sailor.test.model.LoginDTO;  
  25. 25  
  26. 26/** *//**  
  27. 27 * MyEclipse Struts 
  28. 28 * Creation date: 12-28-2008 
  29. 29 *  
  30. 30 * XDoclet definition: 
  31. 31 * @struts.action path="/login" name="loginForm" input="/login.jsp" scope="request" validate="true" 
  32. 32 */  
  33. 33public class LoginAction extends Action {  
  34. 34    /**//* 
  35. 35     * Generated Methods 
  36. 36     */  
  37. 37  
  38. 38    /** *//**  
  39. 39     * Method execute 
  40. 40     * @param mapping 
  41. 41     * @param form 
  42. 42     * @param request 
  43. 43     * @param response 
  44. 44     * @return ActionForward 
  45. 45     */  
  46. 46    public ActionForward execute(ActionMapping mapping, ActionForm form,  
  47. 47            HttpServletRequest request, HttpServletResponse response) {  
  48. 48          
  49. 49          
  50. 50        System.out.println("begin");  
  51. 51  
  52. 52        LoginForm loginForm = (LoginForm) form;  
  53. 53          
  54. 54        List<LoginDTO> list = new ArrayList<LoginDTO>();  
  55. 55          
  56. 56        LoginDTO l1 = new LoginDTO();  
  57. 57        l1.setUsername("haiou");  
  58. 58        l1.setPassword("sa");  
  59. 59          
  60. 60        LoginDTO l2 = new LoginDTO();  
  61. 61        l2.setUsername("sailor");  
  62. 62        l2.setPassword("123456");  
  63. 63          
  64. 64        LoginDTO l3 = new LoginDTO();  
  65. 65        l3.setUsername(loginForm.getUsername());  
  66. 66        l3.setPassword(loginForm.getPassword());  
  67. 67  
  68. 68        list.add(l1);  
  69. 69        list.add(l2);  
  70. 70        list.add(l3);  
  71. 71          
  72. 72        //适用于List  
  73. 73        //Map<String, Object> map = new HashMap<String, Object>();  
  74. 74        //map.put("userlist", list);  
  75. 75        //JSONObject json = JSONObject.fromObject(map);  
  76. 76          
  77. 77        //适用于Map  
  78. 78        JSONArray json = JSONArray.fromObject(list);  
  79. 79          
  80. 80        try {  
  81. 81            PrintWriter out = response.getWriter();  
  82. 82            out.print(json);  
  83. 83              
  84. 84        } catch (IOException e) {  
  85. 85            e.printStackTrace();  
  86. 86        }  
  87. 87  
  88. 88        return null;  
  89. 89    }  
  90. 90}  


2、struts-config,web.xml不需要特殊的配置 

3、login.jsp:输入用户名和密码,然后显示在本页面 

Java代码  收藏代码
    1. <%@ page language="java" pageEncoding="UTF-8"%>  
    2.  2<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>   
    3.  3<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>  
    4.  4   
    5.  5<html>   
    6.  6    <head>  
    7.  7        <title>JSP for LoginForm form</title>  
    8.  8  
    9.  9          <script src="jquery-1[1].2.1.pack.js" charset="utf-8"></script>  
    10. 10    <script>  
    11. 11    $(document).ready(function(){  
    12. 12      
    13. 13      $("#userlogin").click(function(){  
    14. 14            $.ajax({  
    15. 15                 url:'login.do',   
    16. 16                 type: 'post',  
    17. 17                 data:'username='+$("#username").val()+'&password='+$("#password").val(),   
    18. 18                 timeout: 2000,  
    19. 19                 error: function(){  
    20. 20                    alert('错误');  
    21. 21                 },  
    22. 22                success: function(json){  
    23. 23                  
    24. 24                var users = eval('(' + json + ')');  
    25. 25                  
    26. 26                $("#result").empty();  
    27. 27                $("#username").attr("value","");   
    28. 28                $("#password").attr("value","");   
    29. 29                  
    30. 30                //返回的是List  
    31. 31               $.each(users,function(i, user){         
    32. 32                  $("#result").append("<li>"+ i + " name: " + user.username + "&nbsp; pwd:"+ user.password +"</li>");  
    33. 33               });  
    34. 34                 
    35. 35               //返回的是Map类型  
    36. 36               //  var users = myObject.userlist;  
    37. 37               // $.each(users,function(i, user){  
    38. 38               //    $("#result").append("<li>"+ i + " name: " + user.username + "&nbsp; pwd:"+ user.password +"</li>");  
    39. 39               // });  
    40. 40                 }  
    41. 41         });  
    42. 42          
    43. 43     });        
    44. 44     
    45. 45        //ajax提交  
    46. 46        $("#loading").ajaxStart(function(){   
    47. 47             $(this).html("<img src=\"loading.gif\">&nbsp;正在加载");  
    48. 48          });   
    49. 49        
    50. 50       //ajax成功状态  
    51. 51        $("#loading").ajaxSuccess(function(){  
    52. 52             $(this).html("保存成功!");  
    53. 53         });  
    54. 54           
    55. 55        //ajax结束状态  
    56. 56         $("#loading").ajaxStop(function(){  
    57. 57           $(this).hide();  
    58. 58         });   
    59. 59     
    60. 60    });  
    61. 61    </script>  
    62. 62  
    63. 63  
    64. 64    </head>  
    65. 65    <body>   
    66. 66    用户名 : <input type="text" id="username" name="username"/><br/>  
    67. 67    密码 :     <input type="password" id="password" name="password"/><br/>  
    68. 68            <font id="userlogin">登陆</font><span id="loading"></span>  
    69. 69  
    70. 70    <p id="result"></p>  
    71. 71    </body>  
    72. 72</html>  
posted @ 2012-09-19 14:01  镇水古月  阅读(187)  评论(0编辑  收藏  举报