(Struts2学习篇) Struts2之Jquery整合

冷不防 2023-10-16 20:18 81阅读 0赞

主要思路:

1、客户端是通过$.ajax()方法向struts2.action传递数据;

2、其中action中execute()方法返回值为空,并通过【ServletActionContext.getResponse().getWriter().print(result);】方法将数据传到jQuery中。

相关源代码:

struts.xml配置文件

  1. <package name="struts2.action" extends="struts-default">
  2. <action name="loginUser" class="com.vixuan.skydrive.action.LoginActions">
  3. </action>
  4. </package>

登入Action(LoginActions)

  1. package com.vixuan.skydrive.action;
  2. import org.apache.struts2.ServletActionContext;
  3. import com.opensymphony.xwork2.ActionSupport;
  4. public class LoginActions extends ActionSupport {
  5. /**
  6. *
  7. */
  8. private static final long serialVersionUID = 1L;
  9. private String mname;
  10. private String mpass;
  11. /* 省略getter和setter方法 */
  12. public String execute() throws Exception {
  13. boolean result = false;
  14. if ("root".equals(mname) && "123456".equals(mpass))
  15. {
  16. result = true;
  17. }
  18. // 向客户端传递数据
  19. ServletActionContext.getResponse().getWriter().print(result);
  20. return null;
  21. }
  22. public String getMname() {
  23. return mname;
  24. }
  25. public void setMname(String mname) {
  26. this.mname = mname;
  27. }
  28. public String getMpass() {
  29. return mpass;
  30. }
  31. public void setMpass(String mpass) {
  32. this.mpass = mpass;
  33. }
  34. }

用户登入Html(Login.html)

  1. <html>
  2. <head>
  3. <title>jQuery与Struts2的整合</title>
  4. <meta http-equiv="content-type" content="text/html; charset=GBK">
  5. <style type="text/css">
  6. body {
  7. font-size: 13px
  8. }
  9. .divFrame {
  10. width: 250px;
  11. border: solid 1px #666
  12. }
  13. .divFrame .divTitle {
  14. padding: 5px;
  15. background-color: #eee
  16. }
  17. .divFrame .divContent {
  18. padding: 8px
  19. }
  20. .divFrame .divContent .clsShow {
  21. font-size: 14px
  22. }
  23. .btn {
  24. border: #666 1px solid;
  25. padding: 2px;
  26. width: 50px;
  27. filter: progid:DXImageTransform.Microsoft.Gradient(GradientType = 0, StartColorStr = #ffffff, EndColorStr =
  28. #ECE9D8);
  29. }
  30. form {
  31. padding: 0px;
  32. margin: 0px
  33. }
  34. }
  35. </style>
  36. <script type="text/javascript" src="js/jquery-1.9.1.js"></script>
  37. <script type="text/javascript">
  38. $(function()
  39. {
  40. $("#Button1").click(function(){
  41. var mName=encodeURI($("#mname").val());
  42. var mPass=encodeURI($("#mpass").val());
  43. $.ajax(
  44. {
  45. url:"loginUser.action",
  46. dataType:"html",
  47. data:{mname:mName,
  48. mpass:mPass},
  49. success:function(strValue)
  50. {
  51. alert(strValue);
  52. if(strValue=="true"){
  53. $("#divTip").html("操作提示,登录成功!");
  54. }else
  55. {
  56. $("#divTip").html("用户名或密码错误!");
  57. }
  58. }
  59. })
  60. })
  61. })
  62. </script>
  63. </head>
  64. <body>
  65. <div class="divFrame">
  66. <div class="divTitle">用户登录</div>
  67. <div class="divContent">
  68. <div id="divTip"></div>
  69. <div id="box">
  70. <form id="myForm">
  71. 名称:<input type="text" id="mname" name="mname" /><br /> 密码:<input
  72. type="password" id="mpass" name="mpass" /><br />
  73. <input id="Button1" type="button"
  74. class="btn" value="登录" /> <input id="Button2" type="reset"
  75. class="btn" value="取消" />
  76. </form>
  77. </div>
  78. </div>
  79. </div>
  80. <br /> 本网页显示的是通过$.ajax()方法向struts2.action传递数据,
  81. <br />其中action中execute()方法返回为空,
  82. <br />并通过【ServletActionContext.getResponse().getWriter().print(result);】
  83. 方法将数据传到jQuery中。
  84. </body>
  85. </html>

相关结果展示:

成功:

Center

失败:

Center 1

发表评论

表情:
评论列表 (有 0 条评论,81人围观)

还没有评论,来说两句吧...

相关阅读