struts2中用户名是否重复如何用Ajax做

问题描述

我想在struts2中加入Ajax做用户名是否重复的判断,不知道该怎么做,如果用sevlet我倒是会做的,可是在struts2中好像做不了啊。。。求各位帮我看看要怎么做啊?做好能给完整的例子让我研究下。

解决方案

正好我刚做了一个相关的作业设计,给你看看,就是用的struts2,其实就是action不返回原来的string结果,用struts里的servletActionContext类的geiResponse()方法获取底层HttpServletResponse的引用,然后就和servlet里面一样了,看代码的..struts的action类:package com.ray;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import org.hibernate.Session;public class CheckUserAction {public String execute() throws Exception{try{String responseText="";HttpServletRequest request=ServletActionContext.getRequest();String username=request.getParameter("user");Session session=com.ray.HibernateSessionFactory.getSession();User user=(User)session.get(User.class, username);if(user==null){responseText="恭喜,用户名可用";}elseresponseText="此用户名已被使用";HttpServletResponse response=ServletActionContext.getResponse();response.setCharacterEncoding("gb2312");response.setContentType("text/plain");PrintWriter out=response.getWriter();out.print(responseText);out.flush();out.close();session.close();}catch(IOException e){e.printStackTrace();}return null;}}检查用户名的Ajax:function checkuser(){ var xmlHttp; var reguser=document.all.form2.reguser.value; if(reguser.length>=3){ if(window.ActiveXObject){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }else xmlHttp=new XMLHttpRequest(); xmlHttp.open("get","check.action?user="+reguser,true); xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4){ if(xmlHttp.status==200){ checkSpan.innerText=xmlHttp.responseText; }else checkSpan.innerText+="正在检查,请稍等..."; } }; xmlHttp.send(); }else alert("账号至少3位"); }
解决方案二:
http://download.csdn.net/download/j1582830/2634790http://wenku.baidu.com/view/d5c066f6f61fb7360b4c650f.html建议使用验证工具 如validForm http://validform.rjboy.cn/ 你可以如下这样写 <input type="text" class="text Validform_error" id="customerId" name="cm.customerId" value="" ajaxurl="/customer/validate/customerId" datatype="r/^[u4E00-u9FA5uf900-ufa2dw]{5,20}$/" nullmsg="5-20个字符,可由字母、数字、汉字或“_”组成" errormsg="5-20个字符,可由字母、数字、汉字或“_”组成" size="25" valid="用户名已经被占用">
解决方案三:
用DWR或者jqueryAjax就可以实现
解决方案四:
基本买模型$.post(action,params,function(data){ if(data.success){ alert('用户名可用'); }else{ alert('用户名重复'); }});actionpublic MyAction{private String username;private boolean hasUsed;//setter getter public String execute(){ hasUsed = hasUsed(username);}public boolean hasUsed(String username){ //调用service逻辑,返回结果 return true;}}
解决方案五:
力推jquery validate参考连接:http://blog.csdn.net/kebing1990/article/details/6792913$(function(){ $("#myform").validate( { rules: { name:{required:true,rangelength:[6,20], remote:{ //验证用户名是否存在 type:"POST", url:"loginVerifyAction", //servlet data:{ name:function(){return $("#name").val();} } } },
解决方案六:
你可以在用户名的输入框注册一个焦点离开事件,当用户输入完用户名时就发送请求到action调用service和dao从数据库中检索用户名是否重复,重复与否根据你定义的字符串来判断

时间: 2024-09-24 04:20:12

struts2中用户名是否重复如何用Ajax做的相关文章

ajax-如何用Ajax传递一个对象集合到jsp页面。

问题描述 如何用Ajax传递一个对象集合到jsp页面. 我想在我的web项目(struts2+hibernate)的首页的页面输出数据库的News这个表的内容,请问具体的代码是怎样的,我都快点疯了. 附我自己写的代码,及供参考,可忽略 在servlet中: public void getNewsList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

代码-ASP.NET登陆页面时如何查询SQL Sever数据库中用户名和密码是否相匹配

问题描述 ASP.NET登陆页面时如何查询SQL Sever数据库中用户名和密码是否相匹配 小弟是个新手,想请教下ASP.NET中如何通过TextBox控件去查询SQL Sever数据库中用户名和密码是否相匹配.求完整的代码,谢谢各位前辈! 解决方案 string connect = ""Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|contacts.mdb"";string query =

java 中用户名密码验证的代码怎么写?急!!在线等

问题描述 java 中用户名密码验证的代码怎么写?急!!在线等 import java.awt.GridLayout; import java.awt.event.*; import javax.swing.*; import com.sdu.wh.bll.UserQueryBll; import com.sdu.wh.dao.*; import com.sdu.wh.sql.*; public class LoginFrame extends JDialog implements Action

点击发布按钮,如何用ajax发送这些数据到后台,希望有源码

问题描述 点击发布按钮,如何用ajax发送这些数据到后台,希望有源码 mg.ask.csdn.net/upload/201512/10/1449737844_583917.png) 如何点击发布使用ajax发送到后台这么多数据,我只能发送一行的数据,所有行的要怎么发,后台要如何接收 //第一行数据 var _tr = $("tbody tr:eq(0)"); var sortNum = _tr.children().eq(0).text(); var photoId = _tr.chi

ajax-如何用Ajax提交multipart/form-data类型的Form?

问题描述 如何用Ajax提交multipart/form-data类型的Form? 如何用Ajax提交multipart/form-data类型的Form? 解决方案 ajax中data参数传值的时候,用下边这种方式,传序列化的表单值就好了. data:$('#regForm').serialize()//.serialize()方法将form表单内所有数据组装 解决方案二: 在form里提交文件的时候一定要写 enctype=""multipart/form-data"&q

java swing做的登陆界面,怎样判断数据库中用户名和密码?

问题描述 javaswing做的登陆界面,怎样判断数据库中用户名和密码?之前代码用户名和密码是定死的,现在想改成从数据库的表中读出Name和Password字段与文本框里输入的比较..在网上差了很多,说要查询数据库,遍历第一个字段..请问代码应该怎么改啊,本人基础差..还请各位帮帮忙原来的代码是:packagecom.finance.ui;importjava.awt.*;importjavax.swing.*;importjava.awt.Rectangle;importjavax.swing

在JSP中怎么写把表单的中用户名密码提交到数据库并与数据库作对比

问题描述 在JSP中怎么写把表单的中用户名密码提交到数据库并与数据库作对比比如说有用户名:<inputtype="text"name="name"><br>密码:<inputtype="password"name="password"><br>数据库中原来已经有一个表假设为s,里面有也有name,password.jsp中如何写提取表单的name,password然后与数据库的作

ajax做验证码校验,每次发布后首次校验没问题,为什么首次验证以后,就都返回error

问题描述 ajax做验证码校验,每次发布后首次校验没问题,为什么首次验证以后,就都返回error [2015-07-20 16:51:04,811] [ERROR] com.yinfu.struts.interceptor.ExceptionInterceptor java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [userLoginActio

网站优化成功的秘笈就是重复的事情坚持做

坚持就会成功!一句不懈的坚持也许足以让很多站长感慨万千,网站建设与优化到底需要坚持多少时间才会成功?网站优化似乎更像一场马拉松长跑,开始的时候大家都信心满满,似乎成功在望.但是历经一路风景一路坎坷后,能坚持到最后的却所剩无几.比如每天坚持不懈的原创,应该没有站长会否认原创内容可以有效提升网站权重,但只要稍许浏览一些网站就会轻易知道,真正的原创内容少之又少.不只是原创,链接建设一样如此,网站的持续优化和改进一样如此.所以网站优化真正困难的,不是方法和技巧的掌握,而是技巧方法的应用和不懈的坚持,不懈