皇家88手机登陆Ajax验证用户的唯1性,jquery验证用户名是不是已被登记

本着初学者,学习Ajax验证用户的唯壹性实战是为了加固Ajax,Jquery,Json与Struts二基础知识,具体内容如下

应用struts2+Ajax+jquery验证用户名是还是不是已被注册,struts二jquery

推荐介绍阅读:JQuery+Ajax+Struts2+Hibernate框架整合完成全部的登陆注册

在用户模块中的用户注册要求上,平时要拓展用户名是或不是已被注册的辨证,今天正巧写了那个须求,把详细代码和所蒙受的难点贴过来.在采用struts2+ajax时候,平时我们会重返json类型的数额,不过像上边的例子,大家只盼望重回二个一和0有助于拓展持续判别就能够,没须要再次回到json类型,重回四个text字符串就足以了.

regist.jsp(这里只提供<script>部分):

<script type="text/javascript">
$(function() {
$("#userNiName").blur(function() {
var val = $(this).val();
val = $.trim(val);
var $this = $(this);
if (val != "") {
//把当前节点后面的所有 font 兄弟节点删除
$this.nextAll("font").remove();
var url = "user_checkName";
var args = {
"userNiName" : val,
"time" : new Date()
};
$.post(url, args, function(data) {
//表示可用
if (data == "1") {
$this.after("<font color='green'>用户名可用!</font>");
}
//不可用
else if (data == "0") {
$this.after("<font color='red'>用户名已被注册!</font>");
}
//服务器错误
else {
alert("服务器错误!");
}
});
} else {
$(this).val("");
$this.focus();
}
});
})
</script> 

此地笔者是用了Jquery.post(url,args,function(data){..})函数提交ajax请求到钦定url,并且指引参数args,最终用一个回调函数管理请求重回结果data.

UserAction:

public class UserAction extends ActionSupport implements ModelDriven<User>{
private User user=new User();
private UserService userService;
private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
//检验用户昵称是否存在
public String checkName() throws UnsupportedEncodingException{
System.out.println("进入ajax检验");
String userNiName=user.getUserNiName();
if(userService.findUserByName(userNiName)==null){
inputStream=new ByteArrayInputStream("1".getBytes("UTF-8"));
}else{
inputStream=new ByteArrayInputStream("0".getBytes("UTF-8"));
}
return "ajax_succ";
}
@Override
public User getModel() {
return user;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
} 

留神:这里本身用的是ModelDriven的章程获得表单数据,而在动用ajax的时候,直接传了多少个userNiName(别名)过来,于是作者在UserAction中加了2个私家字符串变量userNiName,并安装了set方法.结果死活传可是值来,传过来的是叁个null,于是小编将民用变量删掉,然后直接用user.getUserNiName()直接获取就获得了.切记.

UserService(省略).

User类(省略).

UserDao:

package com.wang.shop.user.dao;
import java.util.List;

import org.springframework.orm.hibernate4.support.HibernateDaoSupport;
import com.wang.shop.user.entity.User;
public class UserDao extends HibernateDaoSupport{
/**
* 通过用户昵称查询User
* @param userNiName
* @return
*/
public User findUserByName(String userNiName){
List<User> list = (List<User>) this.getHibernateTemplate().find("select u from User u where u.userNiName=?", userNiName);
if(list!=null&&list.size()>0){
System.out.println("list:"+list.get(0));
return list.get(0);
}
return null;
}
}

struts.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="shop" namespace="/" extends="struts-default">
<!-- UserAction -->
<action name="user_*" class="userAction" method="{1}">
<result name="regist_succ">/WEB-INF/jspForUser/login.jsp</result>
<result type="stream" name="ajax_succ">
<param name="contentType">text/html</param>
<param name="inputStream">inputStream</param>
</result>
</action>
</package>
</struts> 

注意在result标签中,type=”stream”.

最后顺带说一句,笔者在调解的时候习于旧贯使用输出语句,但老是加一句输出语句都必要重启汤姆cat,好烦.于是参照英特网的方法,将Tmocat安装目录下,conf->server.xml中在<host>标签下增多了以下代码,就足以修改类(细微的退换)的时候,没有要求重启服务器了:

<!--docBase就是你的项目工程所在的全路径,path就是写你的项目名,reloadable="true",可以自动重新加载修改过的class文件-->
<Context debug="0" docBase="D:\Tomcat 7.0\webapps\SSH_shop01" path="/SSH_shop01" reloadable="true" /> 

须求特别注意的是,当在汤姆cat中卸载了该类型后,一定要回来将以此标签删除.

应用struts二+Ajax+jquery验证用户名是还是不是已被注册的学识,作者就给大家介绍这么多,希望对我们持有辅助!

推荐介绍阅读:JQuery+Ajax+Struts2+Hibernate框架整合完毕完整的登入注册

浏览效果图:

你或者感兴趣的作品:

  • Ajax 用户名验证是不是存在
  • asp ajax注册认证之 制止用户名输入空格
  • asp.net结合Ajax验证用户名是或不是留存的代码
  • Asp.net下行使Jquery Ajax达成用户注册检查实验(验证用户名是不是存)
  • 依靠jQuery达成的Ajax 验证用户名是还是不是留存的贯彻代码
  • Ajax实时证实用户名/邮箱等是不是已经存在的代码打包
  • PHP+Ajax异步通信完成用户名邮箱验证是或不是已登记( 贰种方法达成)
  • Jquery、Ajax、Struts二完了定期刷新的点子
  • struts2+jquery完成ajax登入实例详解
  • JQuery+Ajax+Struts二+Hibernate框架整合达成完整的记名注册

推荐阅读 :JQuery+Ajax+Struts二+Hibernate框架整合完成完整的登入注册
在用户模块中的用…

在用户模块中的用户注册要求上,常常要实行用户名是还是不是已被登记的表明,前几天恰恰写了那个须要,把详细代码和所遭受的难点贴过来.在动用struts2+ajax时候,平常大家会回到json类型的数目,不过像上边的例子,大家只希望再次来到一个一和0带动拓展一连判别就可以,没须求重临json类型,重临2个text字符串就能够了.

皇家88手机登陆 1

regist.jsp(这里只提供<script>部分):

皇家88手机登陆 2

<script type="text/javascript">
$(function() {
$("#userNiName").blur(function() {
var val = $(this).val();
val = $.trim(val);
var $this = $(this);
if (val != "") {
//把当前节点后面的所有 font 兄弟节点删除
$this.nextAll("font").remove();
var url = "user_checkName";
var args = {
"userNiName" : val,
"time" : new Date()
};
$.post(url, args, function(data) {
//表示可用
if (data == "1") {
$this.after("<font color='green'>用户名可用!</font>");
}
//不可用
else if (data == "0") {
$this.after("<font color='red'>用户名已被注册!</font>");
}
//服务器错误
else {
alert("服务器错误!");
}
});
} else {
$(this).val("");
$this.focus();
}
});
})
</script> 

皇家88手机登陆 3

这里本人是用了Jquery.post(url,args,function(data){..})函数提交ajax请求到内定url,并且教导参数args,最终用三个回调函数管理请求重临结果data.

皇家88手机登陆 4

UserAction:

那我们就从头了,操作步骤如下

public class UserAction extends ActionSupport implements ModelDriven<User>{
private User user=new User();
private UserService userService;
private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
//检验用户昵称是否存在
public String checkName() throws UnsupportedEncodingException{
System.out.println("进入ajax检验");
String userNiName=user.getUserNiName();
if(userService.findUserByName(userNiName)==null){
inputStream=new ByteArrayInputStream("1".getBytes("UTF-8"));
}else{
inputStream=new ByteArrayInputStream("0".getBytes("UTF-8"));
}
return "ajax_succ";
}
@Override
public User getModel() {
return user;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
} 

一.第叁大家开端入所急需的包及文件

留意:这里笔者用的是ModelDriven的主意获得表单数据,而在利用ajax的时候,直接传了三个userNiName(别称)过来,于是作者在UserAction中加了二个民用字符串变量userNiName,并安装了set方法.结果死活传可是值来,传过来的是二个null,于是自个儿将个人变量删掉,然后径直用user.getUserNiName()直接拿走就收获了.切记.

Json 包:

UserService(省略).

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图