ajax+struts2验证用户名是否存在
首先需要从页面通过document.getElementById或name获得输入的内容,传到struts2的中,这时就需要struts.xml文件起到作用了,也是重要的一步,首先需要添加lib:json-lib-2.4-jdk15.jar,struts2-json-plugin-2.3.15.2.jar,并将返回类型设置type="json",而且添加了param excludeNullProperties声明,

  excludeNullProperties 参数:表示是不是去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值。

<result type="json"><param name="excludeNullProperties">true</param></result>

要是只想取出list对象集合中,对象的某几个属性,则需要下列配置:
<action name="recommendList" class="VideoAction" method="recommendList">
<result name="success" type="json">
<param name="includeProperties">recommendList\[\d+\]\.videoTime,recommendList\[\d+\]\.videoId,recommendList\[\d+\]\.videoImg,recommendList\[\d+\]\.videoTitle </param>
</result>
</action>

之后进入action中,则需要注意到一个新的问题,就是setter和getter,他们会自动转换为HttpServletRequest的getParameter()和setAttribute(),也就是说在不需要将参数作为返回值返回到View层时,是可以不写getter方法的,这也是在我实现ajax+struts2过程中,总是显示其他不想要的内容的原因。

然后就会返回到javascript中,这时,因为定义了json的type,所以在javascript中的对象为json的object类型,需要使用for in循环将json串中的内容遍历出来,找到想要的内容,还有一个hasOwnProperty()的方法,他是用来判断返回的json中是否有json对象的,其实完全可以不是用,可能这样会降低代码的健壮性吧。
还有一点就是javascript的变量作用域的问题,如下代码:
  $("#acount" ).blur( function(){  var text = inputUserNameObj.val();  $.post("ajaxCheck.action?acount=" +text, null, function(result){           for( var i in result){ if(result.hasOwnProperty(i)){ alert(i+"----"+result[i]) ;}}alert( "js中result=" +result[i]);if(result[i]!=( '可以使用' )){document.getElementById( "namemessage" ).innerHTML="<font color='red'>"+result[i]+ "</font>";} else{document.getElementById( "namemessage" ).innerHTML="<font color='green'>"+result[i]+ "</font>";}});  });

难道for in里边的变量i能够带到外边的if中?这在java中是不可以的吧?还搞不太明白
修改——————————
上边所说的变量作用域问题其实是javascript函数的一个闭包函数,是javascript的特性

转载于:https://www.cnblogs.com/mecca/p/3510596.html

ajax+struts2实现总结相关推荐

  1. OCR文字识别,基于腾讯云的demo,Ajax+Struts2上传图片进行文字识别

    服务简介 通用 OCR 技术提供图片整体文字的检测和识别服务,返回文字框位置与文字内容.支持多场景.任意版面下整图文字的识别,以及中英文.字母.数字的识别. 应用场景:印刷文档识别.广告图文字识别.街 ...

  2. 【struts2+spring+hibernate】ssh框架整合开发

    SSH框架整合 1 Struts2+Spring+Hibernate导包 Struts2导入jar包: * struts2/apps/struts2-blank.war/WEB-INF/lib/*.j ...

  3. Struts2 常用标签使用(三十九)

    1.append标签 使用append标签可以把多个集合对象连接起来,从而组成了一个新的集合,然后通过iterator标签进行迭代输出 id:定义连接后新集合的名字 param:子标签,每个子标签指定 ...

  4. ajax+servlet实现注册验证(验证用户名是否存在)

    做项目过程中,需要用到 ajax 实时验证注册的用户名是否已经存在.所以写了一个小例子,经过测试直接可用. 主要分为4个文件,分别为 web.xml 文件,login.jsp文件,login.js 以 ...

  5. oracle 存储过程 ,触发器练习

    /* 以下代码是对emp表进行显示宽度设置 */ col empno for 9999; col ename for a10; col job for a10; col mgr for 9999; c ...

  6. jQuery学习之:Validation表单验证插件

    http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每 ...

  7. 网上商城电子购物网站

    项目名称:网上商城电子购物网站 开发工具:myeclipse 数据库:oracle(版本),mysql(版本)(同时开发了两个版本的数据库) 开发语言:java jsp ajax struts2,hi ...

  8. 对mysql专业技能描述_软件技术专业个人技能怎么写

    个人技能(案例一) 1.熟练掌握基于C#语言.NET框架下的WEB和WinForm应用程序的开发,具有清晰的面向对象思想 2.熟练掌握用于WEB开发的ASP.NET.DIV+CSS.JS.XML.We ...

  9. jQuery发送含有数组参数的ajax请求以及后台Struts2的OGNL解析错误

    当使用jquery1.3以上版本时,进行ajax参数传值时,会出现以下的一个错误: ognl.ExpressionSyntaxException: Malformed OGNL expression: ...

最新文章

  1. java信息管理系统总结_java实现科研信息管理系统
  2. Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)
  3. 《大数据》第2期 专题导读
  4. Object-C中方法
  5. [hihoCoder] 第五十周: 欧拉路·二
  6. 随笔 - Andriod
  7. 单循环链表(用尾指针表示)
  8. insertBefore方法(javascript与jQuery)
  9. git如何添加远程主机_Git由浅入深之远端主机(git remote)
  10. 软件开发的8大主流方法介绍
  11. 读取csv(excel类相关文件)常见bug,及解决办法统计
  12. 小米官网首页简单实现及分析
  13. typhon例子:cs,bufDataset(类似delphi的clientDataset),josn解析器
  14. SVAC国家标准介绍
  15. 关于微信小程序webview的使用
  16. 小巫的Android视频教学出来啦,欢迎大家关注和指正!!!
  17. Idea 中的 Git 操作看这一篇就够了(最全的讲解,文章比较长,截图比较多是为了说明问题)
  18. 半小时实现Java手撸Http协议,爽!!(附完整源码,建议收藏)
  19. vue 快速入门、常用指令(1)
  20. cocos2dx3.2开发 RPG《Flighting》(五)只能行走的战斗场景

热门文章

  1. java Junit 为什么@Test注解里的方法必须是public void修饰的
  2. springboot学习笔记(十)
  3. 用python内置函数算复杂度吗_番外篇: Python 面试感受
  4. 【译】10 years Blockchain. The Race is on: Blockchain vs. Tangle vs. Hashgraph
  5. JZOJ 5952. 【NOIP2018模拟11.5A组】凯旋而归
  6. JZOJ 5177. 【NOIP2017提高组模拟6.28】TRAVEL
  7. JZOJ 5048. 【GDOI2017模拟一试4.11】IQ测试
  8. linux java多线程_Java多线程从简单到复杂
  9. python locust 能压测数据库_深入浅出 Locust 实现
  10. python join函数用法-Python join()函数