• 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>  
  • 相关阅读:
    android之AlertDialog 点击其它区域自己主动消失
    leetCode191/201/202/136 -Number of 1 Bits/Bitwise AND of Numbers Range/Happy Number/Single Number
    CEF 框架使用集锦
    Qt WebEngine Debugging and Profiling
    Qt内置浏览器引擎WebEngine调试和分析方法
    QWebEngine踩坑记录
    带外(out of band)数据
    碰撞检测算法:点和矩形碰撞、点和圆形碰撞、矩形碰撞、圆形碰撞
    windows 7 安装visual studio 2019 闪退问题解决
    最小二乘法
  • 原文地址:https://www.cnblogs.com/sode/p/2693602.html
Copyright © 2020-2023  润新知