ssh+ajax 注册验证 以及struts2+json注意事项
来源:互联网 发布:软件选型评分表 编辑:程序博客网 时间:2024/05/16 09:32
在我们日常开发中,经常会遇到注册时进行用户名异步验证这一步,下面是我开发时的一个小例子,希望能对大家有帮助。需要注意的是,我们后台是利用json返回json字符串,struts2整合json我们需要加入以下jar包:
<dependency><groupId>org.apache.struts</groupId><artifactId>struts2-json-plugin</artifactId><version>2.3.16</version></dependency><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk15</classifier></dependency>
页面效果:左图是用户名已被注册,右图是允许注册。
下面是我的前台代码:
<script type="text/javascript">function checkLogin(){var xmlHttp;var name = document.getElementById("email").value;if(window.XMLHttpRequest){xmlHttp = new XMLHttpRequest();}else {xmlHttp = new ActiveXObject("MicroSoft.XMLHTTP");//老版本的ie}xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4 && xmlHttp.status==200){//var ss = xmlHttp.responseText;var dataObj=eval("("+xmlHttp.responseText+")");if(dataObj.exist=="false"){document.getElementById("tip").innerHTML="<img src='images/ok.png'/>";}else{document.getElementById("tip").innerHTML="<img src='images/no.png'/>";}}};xmlHttp.open("post","Json_checkRegister.action?checkname="+name,true);xmlHttp.send();}</script>
<p><input type="email" id="email" name="user.username" onblur="checkLogin();" class="loginInput" autofocus="autofocus" required="required" autocomplete="off" placeholder="请输入电子邮箱" value="" /><font id="tip"></font></p>
下面是后台action代码:
public String checkRegister() throws Exception{HttpServletResponse response = ServletActionContext.getResponse();JSONObject json=new JSONObject(); PrintWriter out = response.getWriter();if(this.userservice.checkRegister(checkname)==false){json.put("exist", "false");out.println(json); out.flush();out.close();return "userAllowRegister";}json.put("exist", "true");out.println(json); out.flush();out.close();return "userNoRegister";}
配置文件strut.xml代码:
<package name="json" namespace="/" extends="json-default"><action name="Json_*" class="user_action" method="{1}"><result name="userAllowRegister" type="json"></result><result name="userNoRegister" type="json"></result></action></package>
注意返回类型为json
JSON(Java Script Object Notation),是一种语言无关的数据交换格式。
JSON插件是Structs 2 的Ajax插件,通过利用JSON插件,开发者可以很方便,灵活的利用Ajax进行开发。
Json是一种轻量级的数据交换格式,JSon插件提供了一种名为json的Action ResultType 。
一旦为Action指定了该结果处理类型,JSON插件就会自动将Action里的数据序列化成JSON格式的数据,
并返回给客户端物理视图的JavaScript。简单的说,JSON插件允许我们在JavaScript中异步的调用Action,
而且Action不需要指定视图来显示Action的信息显示。
而是由JSON插件来负责具体将Action里面具体的信息返回给调用页面。
Json的数据格式可简单如下形式: person = { name: 'Jim',age: 18,gender: 'man'}。
如果action的属性很多,我们想要从Action返回到调用页面的数据。
如果我们在后台不希望返回的数据,可以禁止其被序列化,可以使用 @JSON(serialize=false)注解对其屏蔽,说明
此属性不被加入json。
以下三个注解也经常会用到:
在属性get方法上面加
@JSON(name="newName")json中的名称
@JSON(serialize=false)属性不被加入
json@JSON(format="yyyy-MM-dd")格式化日期
这个时候配置includeProperties或者excludeProperties拦截器即可。
<!-- 只包含user.id属性 --><resulttype="json"name="user"><paramname="includeProperties">user\.id</param><!-- 不包含user属性 --><resulttype="json"name="list"><paramname="excludeProperties">user</param></result><!-- 根对象只包含user --><resulttype="json"><paramname="root">user</param></result>
0 0
- ssh+ajax 注册验证 以及struts2+json注意事项
- Jquery、Json、Struts2、Spring实现Ajax动态功能以及注意事项
- Struts2+Ajax用户验证注册
- AJAX学习之序列二:struts2 jquery json 实现AJAX 注册ID验证
- AJAX学习之序列二:struts2 jquery json 实现AJAX 注册ID验证
- AJAX学习之序列二:struts2 jquery json 实现AJAX 注册ID验证
- Struts2+Jquery+JSON 实现ajax注册信息
- Struts2 Jquery Json 实现AJax表单验证
- Struts2 Jquery Json 实现AJax表单验证
- Struts2 ajax+json账户唯一性验证
- SSH中的ajax jquery配置(注册验证用户名是否存在)
- SSH项目整合实现Ajax注册用户验证
- ssh+ajax+js注册验证用户名不重复
- struts2+json+jquery局部刷新实现注册验证
- hibernate3+struts2+spring2+ajax+json用户注册实例
- struts2 json 与jquery整合实现ajax,用户注册校验
- struts2基于ajax的验证用户名是否被注册示例
- struts2中使用ajax验证邮箱(用户名)是否被注册
- iPhone/iOS UIView contentMode transform:变形
- HTTP WARNING: HTTP/1.1 403 Forbidden (Nagios monitor)
- 树
- Apache FTP多线程文件上传、下载、修改文件名、删除
- ZXing 二维码
- ssh+ajax 注册验证 以及struts2+json注意事项
- c语言函数加static的意义
- 《Struts2技术内幕》学习笔记
- CocosBuilder开发之1
- 用Echarts制作各种图表 自己的源代码
- 在felx中打开一个新的网页
- 安卓环境的配置
- 第九周 项目3 实现分数类中的运算符重载
- MapReduce使用DistributedCache