1、struts.xml设置

<package name="default" namespace="/" extends="json-default"><!--用ajax要此extends-->

<action name="userJSON_checkname" class="ssh.action.UserAction" method="checkName" >
<result type="json">
<!-- root的值对应要返回的值的属性,这里的result值即是 对应action中的属性result,也即ajax中的返回值data -->
<param name="root">checkresult</param>
</result>
</action>

</package>

2、html和js,在需要提交的form页面中包含两个js文件,jquery.js(随便下载一个版本)和username_check.js(如下)

<form id="tea_reg" method="post" name="tea_reg" >
用户名<input name="user.User_LogName" type="text"id="user.User_LogName"size="20" maxlength="255" />
<label id="message">验证用户名</label>
</form>
var user = {
inintEvent: function(){
$("input[name='user.User_LogName']").unbind("blur"); /*移动开输入框的时候就会响应,user.User_LogName为输入框的名字*/
$("input[name='user.User_LogName']").bind("blur", function(){
user.checkUser($(this).val());
});
}, checkUser:function(logname){
var parameter = {
logname:logname/*入参,为什么用这样表示,形参:实参?*/
}; $.post("userJSON_checkname.action",parameter,function(data){ /*userJSON_checkname为action的名字*/
/*这里的参数date就是在struct.xml里面定义的参数checkresult,也即action的一个属性值*/
if(data=="ok"){
$("#message").text("该用户名可用");
$("#message").css("color","blue");
}else{
$("#message").text("该用户名不可用");
$("#message").css("color","red");
} }); }
};
/*启动页面的时候绑定动作绑定*/
$(document).ready(function(){
user.inintEvent(); /*绑定到用户名输入框*/
});

3、action部分,在UserAction类中添加如下代码

   public String logname;
public String checkresult;
public String getcheckresult() {/*名字要一致,用于返回数据*/
return this.checkresult;
} public void setlogname(String logname) /*名字要一致,会自动获取传递过来的参数logname*/
{
this.logname = logname;
}
public String getlogname()
{
return this.logname;
}
public String checkName(){
User tmp;
tmp = userservice.findUserByName(logname);/*userservice的具体方法根据自己的项目设置定义,这已经与ajax无关了*/
if(null !=tmp )
{this.checkresult = "err";/*最终要返回的值,浏览器自动获取*/
}
else
{
this.checkresult = "ok";
} return SUCCESS;
}

4、实现调试,在chrome中查看提交和返回的结果

SSH+Ajax实现用户名重复检查(一)的更多相关文章

  1. SSH+Ajax实现用户名重复检查(二)

    1.另外一种更常用的js表达方式: var user = { inintEvent: function(){ $("input[name='user.User_LogName']" ...

  2. 使用原生Ajax进行用户名重复的检验

    title: 使用原生Ajax进行用户名重复的检验(一) date: 2019-01-21 17:35:15 tags: [JavaScript,Ajax] --- Ajax的复习 距离刚开始学aja ...

  3. 使用ajax验证用户名重复

    继上次的用户注册登录案例之后,对其中的部分功能再做进一步改进.上一版中用户提交表单后才对用户名进行校验,虽然做了回显,但还是感觉功能弱了些.为了能有更好用户体验,不是在用户提交表单后才给提示,而是在用 ...

  4. SSH网上商城---使用ajax完成用户名是否存在异步校验

    小伙伴在上网的时候,需要下载或者观看某些视频资料,更或者是在逛淘宝的时候,我们都需要注册一个用户,当我们填写好各种信息,点击确定的时候,提示用户名已经存在,小编就想,为什么当我们填写完用户名的时候,她 ...

  5. Ajax检测用户名是否已经注册

    程序功能 当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册! 实现过程 利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用.这里只是为了演示Aj ...

  6. Ajax验证用户名是否被注册

    Ajax验证用户名是否被注册 var xmlHttp; function createXMLHttpRequest(){ // 创建XMLHttp请求对象 if(window.ActiveXObjec ...

  7. JS判定注册表单的几个方式 及 Ajax进行用户名存在判定

    最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式 ...

  8. 使用AJAX实现用户名的唯一性校验(注册界面)-JAVA(新手)

    (1)实现用户名的唯一性校验 所需要准备的: Servlet 注册界面的JSP 接口和实现类 所需要的接口和实现类: 接口: /* * 用户注册 * 账号的唯一性校验,需要传参(username) * ...

  9. 案例1.用Ajax实现用户名的校验

    用Ajax实现用户名的校验 java的验证类 public class UserDao { public boolean checkUserName(String name) { //这里的name是 ...

随机推荐

  1. 成员方法与const之间的关系

    const可以放在成员方法的三个地方,前.中.后. 首先考虑在中间: 1.const修饰形参,表示形参是否为const 2.如果const修饰引用(指针指向的对象),可以进行过载,如果不是修饰引用(指 ...

  2. java推断字符串是否为乱码

    项目中有一个功能 在IE中GET方式提交会产生乱码 但有两个入口都会走这同一段代码 固不能直接转码,所以要进行推断传过来的该值是不是乱码 可用下面方式验证: java.nio.charset.Char ...

  3. Android屏幕分辨率详解(VGA、HVGA、QVGA、WVGA、WQVGA)

    这些术语都是指屏幕的分辨率. VGA:Video Graphics Array,即:显示绘图矩阵,相当于640×480 像素: HVGA:Half-size VGA:即:VGA的一半,分辨率为480× ...

  4. V9最新手机门户域名绑定教程。

    如需要绑定域名为wap.domain.com,作下如操作: 一.把wap.domain.com域名绑定到你的这个网站主机上.二.在网站后台模块>手机门户域名里面填写“http://wap.dom ...

  5. santoku学习笔记

    帮助文档:https://santoku-linux.com/faqs The first time you log in your username and password are “Santok ...

  6. S2-020 Struts ClassLoader Manipulation安全限制绕过(CVE-2014-0094)

    受影响系统: Apache Group Struts 2.x 描述: ----------------------------------------------------------------- ...

  7. 阅读《RobHess的SIFT源码分析:综述》笔记

    今天总算是机缘巧合的找到了照样一篇纲要性质的文章. 如是能早一些找到就好了.不过“在你认为为时已晚的时候,其实还为时未晚”倒是也能聊以自慰,不过不能经常这样迷惑自己,毕竟我需要开始跑了! 就照着这个大 ...

  8. Oracle Goldengate工作原理

  9. Linux学习之路:认识shell和bash

    一.shell  计算机硬件的直接控制者是操作系统的内核(kernel),因为内核的重要性,所以作为用户的我们是无法直接操作内核的,所以我们需要shell调用应用程序或者双击打开安装的应用软件与内核之 ...

  10. ubuntu 安装sublime并激活

    1:add-apt-repository ppa:webupd8team/sublime-text-3加载sublime的源2:sudo apt-get update更新源 3:sudo apt-ge ...