做注之前曾经写过一个使用struts2的ajax标签动态验证用户名是否存在的例子。这回做注册页面找来使用,发现有一点缺陷。当ajax标签进行异步请求时,会提交当前表单。而当前表单使用了JavaScript进行了用户名是否为空等的验证,直接异步提交表单进行验证用户名时可能会因为JavaScript阻止而无法提交导致动态验证失败。
改进的方法:另外建立一个表单,里边放一个隐藏文本域。通过JavaScript方法及onChange事件同步用户名文本框和隐藏文本域的值。然后对用户名文本框onBlur事件进行异步提交那个表单,并将返回的html代码显示在指定的位置上。
下边是涉及的html代码部分
-
<scripttype="text/javascript">
-
//将id1的值赋给id2对象
-
functioncopyValue(id1,id2){
-
getObj(id2).value=getObj(id1).value;
-
}
-
</script>
-
-
<s:urlid="userUrl"action="regist"method="checkUser"/>
-
-
<formid="form">
-
<inputtype="hidden"name="id"id="idCopy">
-
</form>
-
-
<sx:bindtargets="idInfo"formId="form"sources="id"href="%{userUrl}"events="onblur"indicator="indicator"/>
-
<s:textfieldid="id"name="id"maxlength="10"theme="simple"onchange="copyValue('id','idCopy')"/>
-
-
<imgid="indicator"src="image/indicator.gif"style="display:none;vertical-align:middle;"/>
-
-
<spanid="idInfo">请输入你要注册的用户名</span>
然后是action,这回采用直接把代码写入stream的方式。
-
publicStringcheckUser(){
-
Stringinfo;
-
if(getUserDao().get(getId())!=null){
-
info="<imgsrc='image/error.gif'style='vertical-align:middle;'/>";
-
}
-
else{
-
info="<imgsrc='image/ok.gif'style='vertical-align:middle;'/>";
-
}
-
setInputStream(newStringBufferInputStream(info));
-
return"check";
- }
然后是对应的action的配置
-
<actionname="regist"class="regist">
-
<resultname="check"type="stream"></result>
-
</action>
每次当用户名文本框失去焦点时,旁边就会显示用户是否已被注册的信息
分享到:
相关推荐
SSH整合AJAX验证用户名存在的完整实例是一个典型的Web开发应用场景,主要涉及了Struts2(S)、Spring(S)和Hibernate(H)三大框架的集成,以及异步JavaScript和XML(AJAX)技术的运用,用于提升用户体验。...
"ajax+jQuery+struts2验证用户名是否重复"的实现过程涉及到了几个关键的技术点,主要包括Ajax、jQuery和Struts2框架。下面将详细阐述这些技术及其在实际操作中的应用。 **1. Ajax(异步JavaScript和XML)** Ajax是...
### AJAX与Struts结合实现无刷新验证用户名是否存在 在Web开发中,用户体验是至关重要的因素之一。传统的表单提交方式往往会导致整个页面重新加载,这不仅降低了用户体验,还增加了服务器的负担。为了解决这一问题...
### json+jqeury+struts+js验证用户名是否存在 #### 概述 本文将详细介绍如何通过结合使用JSON、jQuery、Struts以及JavaScript技术来实现一个完整的用户名称验证系统。此系统能够有效地检测用户输入的用户名是否已...
### Ajax验证用户名是否存在示例详解 #### 一、概述 在Web开发中,为了提高用户体验,经常会在用户输入用户名时即时验证该用户名是否已经被其他用户注册。这种验证方式可以通过Ajax技术实现,即在用户输入的同时向...
- 在`checkUsername`方法中,使用数据库查询或其他方式验证用户名是否已被占用。 - 将验证结果封装在一个Java对象中,如`Response`,包含一个布尔值表示用户名是否可用。 4. **返回JSON响应**: - 当业务逻辑...
在这个项目中,我们将探讨如何使用这些技术来验证用户名是否已存在于数据库中。 首先,Struts2 是一个基于MVC(Model-View-Controller)模式的Java Web框架,它使得开发者可以更方便地处理HTTP请求和响应,同时提供...
在开发Web应用时,验证用户输入是至关重要的一步,尤其是验证用户名是否已存在。这个主题涉及到的技术栈包括AJAX、Struts2、JSP和Java,它们共同构建了一个实时反馈的用户注册系统。下面将详细解释这些技术以及如何...
3. **服务器处理**:在Struts Action中,接收到Ajax请求后,验证用户名是否在数据库中已存在。这通常涉及到数据库查询,可以使用Hibernate或MyBatis等ORM框架来简化操作。 4. **返回响应**:验证完成后,Action需要...
在本场景中,标题"Ajax请求验证用户名问题"指的是使用Ajax来实现用户输入用户名时实时检查该用户名是否已被占用的功能。这通常在注册或登录界面非常常见,提供用户友好的体验,因为他们可以即时得知用户名是否可用,...
在用户名验证中,Struts负责处理来自Ajax的请求,执行相应的业务逻辑,比如查询数据库确认用户名是否已存在。配置文件`STRUTS-CONFIG.XML`是Struts的核心配置,定义了Action、Form Bean、Result等关键元素,需确保...
在Struts2框架中实现Ajax功能,可以让用户在注册时实时验证用户名是否已经存在,从而提高用户体验。 这篇文档“struts与ajax.docx”可能包含了如何将Struts2和Ajax结合使用的详细步骤。通常,这个过程会涉及以下几...
【SSH整合AJAX验证用户名存在和验证码的完整实例】是一个关于使用SSH(Struts、Spring、Hibernate)三大框架与AJAX技术相结合,实现用户注册时的异步验证功能的示例项目。在这个实例中,主要涉及到以下几个核心知识...
【SSH2 + AJAX + jQuery + JSON 验证用户名是否存在】是一种常见的前端与后端交互技术,用于实现实时检查用户在注册或登录时输入的用户名是否已经被占用。在这个过程中,SSH2代表Secure Shell 2,通常用于服务器端的...
在这个项目中,"struts+jquery实现无刷新验证用户名是否存在",主要是利用这两者来实现用户注册时的实时验证功能,避免用户提交重复或无效的用户名,提高用户体验。 首先,我们需要了解Struts2的Action类。在Struts...
在Web开发中,Java与Ajax(Asynchronous JavaScript and XML)的结合可以实现异步数据...这个压缩包中的"Ajax验证用户名"应该包含了实现这一功能的相关代码,包括前端Ajax调用和后端Java处理逻辑,供开发者参考学习。
在许多Web应用程序中,注册或登录时都需要验证用户名是否符合特定规则,例如长度限制、字符类型限制等。这个例子主要关注前端验证,确保用户在输入用户名时遵循这些规则。 **实现步骤** 1. **HTML结构**: 创建一...
在SSH2(Apache Struts2)、Ajax、jQuery和JSON技术组合中,验证用户名是否存在的功能是一个典型的前后端交互示例。以下是这些技术如何协同工作的详细解释: **SSH2 (Struts2)**:SSH2是Struts2的简称,它是Apache的...
在登录验证中,Ajax负责在后台与服务器通信,将用户输入的用户名和密码发送到Struts2 Action,接收验证结果,然后根据结果更新页面的状态,如显示错误消息或进行页面跳转。 具体实现步骤如下: 1. 创建HTML登录...
- 实现`validate()`方法,该方法会在表单提交前被调用,用于验证用户名是否可用。例如: ```java public class RegisterAction extends ValidationAwareSupport { private String username; // getters and ...