Struts2整合jQuery实现Ajax功能.doc

上传人:sk****8 文档编号:3534906 上传时间:2019-06-02 格式:DOC 页数:6 大小:73KB
下载 相关 举报
Struts2整合jQuery实现Ajax功能.doc_第1页
第1页 / 共6页
Struts2整合jQuery实现Ajax功能.doc_第2页
第2页 / 共6页
Struts2整合jQuery实现Ajax功能.doc_第3页
第3页 / 共6页
Struts2整合jQuery实现Ajax功能.doc_第4页
第4页 / 共6页
Struts2整合jQuery实现Ajax功能.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、 网上关于这方面的资料也不少,但多半是 struts1的,在 Struts2中使用JSON可以更容易实现数据的异步传输。先做好准备工作:1.Struts2相关 lib, 注意将 struts2 lib下面的以 json开头的包也加入到工程。2.JSON Plugin,它可以将 Struts2 Action中的结果直接返回为 JSON。下载地址:http:/ (支持 struts2.1.6及以上版本)。3.JQuery,JS 的一个 lib. 下载地址:http:/ (最新版本为 1.3.2)。准备工作都做好之后,我们可以开始了。建一个 WEB工程,把相关的包加入到工程。我们需要做的就是三件事:

2、一、准备一个 JSP页面用于提交 ajax请求,这里我使用了 JQuery的$.getJSON(url,params,function callback(data)函数提交 ajax请求到指定url,并且携带参数 params,最后用一个回调函数 callback处理请求返回结果data;二、一个处理请求的 Action类,并在 struts.xml文件中做相应配置:写一个 action类处理 ajax请求数据,并将返回结果封装成一个 JSONObject对象返回给请求页面。同时在 struts.xml中配置对应 action,指明其返回类型为 json并使其 package的 extends

3、为 json-default,并将要返回请求页面的数据放在名为 root的 param中,如result。三、接受请求返回结果:使用 JS的 eval方法将返回结果 data转换成JSON对象,并处理返回结果。具体参见以下代码:/ login.jsp 使用 getJSON方法提交 ajax请求,并处理请求返回结果。注意请求的 url为 login.html这是因为我将 struts2.preperties中的struts.action.extension改成了 htm,默认为 action。lHtml 代码 1. 3. 4. 5. 6. 7. 8. 9. 10. 11. $(document)

4、.ready(function() 12. $(“#login“).click(function() 13. login(); 14. ); 15. ); 16. 17. function login() 18. var url = “login.html“; 19. var params = “user.logName“:$(“#name“).attr(“value“),“user.password“:$(“#password“).attr(“value“); 20. 21. $.getJSON(url,params,function callback(data) 22. / convert

5、 to json object 23. var user = eval(“(“+data+“)“);/ 24. 25. 26. $(“#result“).each(function() 27. $(this).html(welcome , + user.name); 28. ); 29. ); 30. 31. 32. 33. 34. 35. : 38. : 40. / 41. 42. 43. 44. 45. / struts.xml 注意 package的 extends属性与 result的 type属性。result为 userAction的一个属性,这里将结果返回给 ajax的请求页面。

6、Java 代码 1. 2. 3. 4. result 5. 6. 7. / UserAction.java 只需要看 login()方法,另外读者需要自己增加一个 User的实体类用来获取请求数据。这里我只将 user的 logName与password封装到了一个 map以 JSONObject的方式返回(因为还有其它空属性没必要返回)。也可以直接调用 JSONObject.fromObject(user)将整个 user对象返回给 JSON。注意最后返回的并不是一个 JSONObject对象,而是一 String类型的 result。这里的 result须与 action中的中配置的一致。

7、这里代码写的比较简单,没有增加对用户名密码的验证。Java 代码 1. package com.word.action; 2. 3. import java.util.HashMap; 4. import java.util.List; 5. import java.util.Map; 6. 7. import com.word.vo.User; 8. 9. import net.sf.json.JSONObject; 10. 11. import org.apache.poi.hssf.record.formula.eval.AddEval; 12. import ponents.Actio

8、nError; 13. import ponents.ActionMessage; 14. import org.apache.struts2.interceptor.validation.JSONValidationInterceptor; 15. 16. import com.opensymphony.xwork2.ActionSupport; 17. import com.word.service.IUserService; 18. 19. public class UserAction extends ActionSupport 20. private User user; 21. p

9、rivate String result; 22. 23. public String getResult() 24. return result; 25. 26. 27. public void setResult(String result) 28. this.result = result; 29. 30. 31. public User getUser() 32. return user; 33. 34. 35. public void setUser(User user) 36. this.user = user; 37. 38. 39. private IUserService u

10、serService; 40. 41. public void setUserService(IUserService userService) 42. this.userService = userService; 43. 44. 45. public String login() throws Exception 46. 47. Map map = new HashMap(); 48. map.put(“name“, user.getLogName(); 49. map.put(“password“,user.getPassword(); 50. JSONObject obj = JSON

11、Object.fromObject(map); 51. 52. 53. result = obj.toString(); 54. 55. return SUCCESS; 56. 57. 58. /* 59. * get User list 60. */ 61. public List findAll() throws Exception 62. return userService.findAll(); 63. 64. 65. /* 66. * get User by id 67. * 68. * param id 69. * throw Exception 70. */ 71. public

12、 User getUserById(Long id) throws Exception 72. return userService.getUserById(id); 73. 74. 75. /* 76. * create User 77. * 78. * param user 79. * throw Exception 80. */ 81. public String createUser() 82. clearErrorsAndMessages(); 83. 84. if(user.getLogName().trim().equals(“) ) 85. this.addActionMess

13、age(getText(“error.user.name“); 86. return INPUT; 87. 88. if(user.getPassword().trim().equals(“) ) 89. this.addActionMessage(getText(“error.user.password“); 90. return INPUT; 91. 92. try 93. userService.createUser(user); 94. this.addActionMessage(getText(“user.message.create“); 95. return INPUT; 96.

14、 catch(Exception e) 97. this.addActionMessage(“注册用户失败“); 98. return INPUT; 99. 100. 101. 102. /* 103. * update User 104. * 105. * param user 106. * throw Exception 107. */ 108. public void updateUser() throws Exception 109. userService.updateUser(user); 110. 111. 112. /* 113. * delete User by id 114. * 115. * param id 116. * throw Exception 117. */ 118. public void deleteUser(Long id) throws Exception 119. userService.deleteUser(id); 120. 121. 122.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。