网站大量收购闲置独家精品文档,联系QQ:2885784924

struts和ajax的结合.ppt.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
struts和ajax的结合.ppt

Struts 和 Ajax的结合 未使用Ajax之前 模仿桌面应用程序的两个选择 1)发送所有的可能作为页面的一部分被请求的信息,使用大量的javaScript来处理(非企业级); 2)不改变形式的提交到后台服务器; Ajax提供了给你融合前台的最佳解决方案--动态的页面 实现动态页面你的选择 等待下一个融合了Ajax技术的Stuts版本; 直接采用新的方法(dwr或者Ruby on Rails); 在已然存在的struts中加入ajax,实现struts和ajax的结合; 在struts中增加ajax的优势 不需要任何新的库文件或者服务器代码(只需要使用现有的Struts库文件和action ) 解决方案中所有部分――JavaScript,XML,Java和Struts――早已为广泛所知。 此应用可以一块一块地移植到AJAX;我们可以确定哪些部分对用户有益,并首先将它们更新到动态AJAX显示。 实现方案 首先看一个现有的struts应用(未添加ajax); 需要注意的地方; 在struts中添加ajax 演示效果 添加AJAX是出奇的容易。服务器端的代码和前面的例子是一样的: 一个Struts的ActionForm来后去数据,一个Struts的Action来执行需要的任务(例如,存储数据库)然后转发到适当的JSP页面来显示结果。 继续 在web页面中引入一个ajax.js; 确保你希望在AJAX调用中更新的web页面的部分包含在标签中,并且给每个标签一个id 当一些事件触发的时候就更新页面 为了页面的显示/更新,最简单的方法是Struts Action转发回同样的页面 Ajax解决方案的细节 增加一个JavaScript方法来完成到服务器的“背后的”AJAX调用 增加JavaScript代码来接收服务器的响应并更新页面 在JSP页面增加标签标签,这个标签中内容将在AJAX调用中更新 发送ajax请求到服务器 retrieveURL()方法获得服务器的URL和Struts form。URL用于使用AJAX,form的值用于传递到服务器。 getFormAsString()方法用于将retrieveURL()中form命名的值组装成查询字符串,并发送到服务器。 使用方法很简单,使用onclick()/onChange()事件来触发retrieveURL()更新显示 retrieveURL方法 function retrieveURL(url,nameOfFormToPost) { //将url转换成字符串 url=url+getFormAsString(nameOfFormToPost); //调用AJAX if (window.XMLHttpRequest) { // 非IE浏览器 req = new XMLHttpRequest(); req.onreadystatechange = processStateChange; try { req.open(GET, url, true); } catch (e) { alert(Server Communication Problem\n+e); } req.send(null); } else if (window.ActiveXObject) { // IE req = new ActiveXObject(Microsoft.XMLHTTP); if (req) { req.onreadystatechange=processStateChange; req.open(GET, url, true); req.send(); } } } getFormAsString()方法 function getFormAsString(formName){ //设置返回字符串 returnString =; //取得表单的值 formElements=document.forms[formName].elements; //循环数组,组装url //像/strutsaction.doname=value这样的格式 for(var i=formElements.length-1;i=0; --i ){ //转化每一个值 returnString+= +escape(formElements[i].name)+= +escape(formElements[i].value); } //返回字符串 return returnString; } 根据ajax的响应,更新web页面 processState

文档评论(0)

teda + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档