以前无聊写过一个小东西,其中有一个功能就是添加用户,当时并没有考虑用户名重复的问题,今日闲来无事,打算利用创建交互式、快速动态网页应用的网页开发技术的异步刷新来校验用户名是否存在。自己也是新手,刚刚大三,哈哈写的不对的地方请指出。放上效果图:
首先是编写前的准备
我并不是用原生的射流研究…来写的创建交互式、快速动态网页应用的网页开发技术而是用的jqueryeasyUI框架中的ajax,所以在使用之前就必须要引入jquery的射流研究…文件。
链接rel='样式表'类型=' text/CSS ' href=' $ { context path }/pages/intro control/util/themes/default/measuri。CSS ' link rel='样式表'类型=' text/CSS ' href=' $ { context path }/pages/intro control/util/themes/icon。' CSS '脚本类型=' text/JavaScript ' src=' http : $ { context path }/pages/intro control/util/jquery-1.7 .首先是在jsp文件中的编写
var isExist=true//这里设置一个标识符用于后面阻止表单的提交$(function(){ //表单的验证$('#fname ').验证框({必需的d :为真,缺少消息: '用户名不能为空!',精度:0 });$('#floginname ').验证框({必需的d :为真,缺少消息: '登录名不能为空!',精度:0 });//对于添加按钮的绑定$('#addBtn ').bind('click '),function(){ addUser();});});/** * 添加用户*/function AddUser(){ var obj=$(' # OrgTree ').树(“GetSelected”);if(obj){ $('#fdepname ').val($('#orgTree ').树(' getSelected ').文本);$('#fdepid ').val($('#orgTree ').树(' getSelected ').id);$('#operator_user ').对话框({宽度:350,高度:300,标题: '新增管理,modal:true,button :[{ text : '提交,手柄:函数(){ //判断是否符合条件if(!isExist){ if($('#operator_user ').表单(“验证”){ $ .Ajax({ URL : ' %=请求。getcontextpath()%/Pei Xun/add user。操作',类型:'post ',数据类型:'json ',数据:$('#myform ').serialize(),success:function(数据、响应、状态){ if(数据。type==' success '){ $。信使。警报('提示','新增成功!');$('#sysUserTable ').datagrid(' reload ');$('#operator_user ').对话框("关闭");//清空表单$("#我的表单")[0].reset();}else{ $.messager.alert('提示','新增失败!');} } });} } },{ text: '取消,处理程序:函数(){ $(' # operator _ user ').对话框("关闭");$("#我的表单")[0].reset();} }], });}else if(obj==null){ alert('未选择树。');}};/** * AJAX异步校验用户名*/function checkUserName(){ var floginname=$(' # floginname ').val();$.Ajax({ URL : ' $ {上下文路径}/Pei Xun/检查用户名。action ',type:'POST ',data : { loginname : floginname },dataType:'json ',success:function(data){ //根据后台返回的数据来进行判断,并给出提示if(数据。type==' true '){ $(' # label ')[0].innerHTML='font color='red '登录名重复/font ';isExist=true} else if(数据。type==' false '){ $(' # label ')[0].innerHTML='font color='green '恭喜你,登录名可以使用/font ';isExist=false} },error:function(数据){ alert('获取用户信息失败,请联系管理员!');} });}行动部分
包裹ais。裴迅。web导入Java。io。可序列化;导入Java。乌提尔。ArrayList导入Java。乌提尔。HashMap导入Java。乌提尔。列表;导入Java。乌提尔。地图;导入ais。ADL。模特。树节点;导入ais。框架。支柱。BaseAction导入ais。框架。乌提尔。uuid导入ais。裴迅。服务。裴迅服务;导入ais。用户。模特。uuser公共类裴迅行动扩展了基础动作{私有静态最终长序列版本id=6269156200927918770 l;私培训服培训服;私有映射字符串,对象结果映射=新HashMapString,对象();私人用户;私有字符串id;私有字符串fname私有字符串弗洛金纳姆私有字符串名称;私有字符串登录名;私有字符串fsex/** *添加用户**公共字符串addUser(){ try{ if(user!=null){ 0字符串id=新UUID().toString();用户。setfuserid(id);serializable ser=this。裴迅服务。AddNeueser(用户);if(ser!=空爵士!=''){ this.resultMap.put('type ',' success ');}else{ this.resultMap.put('type ',' error ');} } }catch(异常e){ e . print stack trace();}返回成功} /** *校驗用戶名是否存在的方法*/public String check username(){ try { if(loginname!=nullloginname!=null){ //这里通过daoImpl返回的数据来进行判断int count=this。裴迅服务。检查用户名(login name);if(count==1){ //将结果真实的放到类型中返回给前台this.resultMap.put('type ',' true ');}else{ this.resultMap.put('type ',' false ');} } }catch(异常e){ e . print stack trace();}返回SUCCESS}公共裴巽服务getpei巽服务(){返回裴巽服务;} public void set peix on service(peix on service peix on service){ this。peix onservice=peix onservice}公共映射字符串,对象getResultMap(){ 0返回结果映射}公共void setResultMap(映射字符串,对象结果映射){ this。结果图=结果图;} public String getFname(){ return fname;} public void setFname(String fname){ this。fname=fname} public String getFloginname(){ return floginname;} public void setFloginname(String floginname){ this。floginname=floginname} public String getFsex(){ return fsex;} public void setFsex(String fsex){ this。fsex=fsex} public String getFdepname(){ return fdepname;} public void setFdepname(String fdepname){ this。fdepname=fdepname} public Uuser GetUser(){ return user;} public void setUser(UUser用户用户){ this . user=user } public String getName(){ return name;} public void setName(String name){ this。name=name} public String getLoginname(){ return loginname;} public void setLoginname(String loginname){ this。loginname=loginname} public String GetID(){ return id;} public void SetID(String id){ this。id=id} }服务以及ServiceImpl
包ais。裴迅。服务;导入Java。io。可序列化;导入Java。乌提尔。列表;导入Java。乌提尔。地图;导入ais。ADL。模特。树节点;导入ais。框架。服务。ibaseservice导入ais。用户。模特。uuser公共接口PeixunService扩展了IBaseService { public Serializable addOneUser(UUser用户);公共内部检查用户名(字符串登录名);}打包ais。裴迅。服务。impl导入Java。io。可序列化;导入Java。乌提尔。列表;导入Java。乌提尔。地图;导入ais。ADL。模特。树节点;导入ais。框架。服务。impl。baseserviceimpl导入ais。裴迅。刀。裴巽道;导入ais。裴迅。服务。裴迅服务;导入ais。用户。模特。uuser公共类PeixunServiceImpl扩展了BaseServiceImpl实现了PeixunService {私有佩克森道佩克森道;public Pei xundao getpei xundao(){ 0返回裴迅道;} public void setPeixunDao(PeixunDao PeixunDao){ this。裴迅道=裴迅道;} @覆盖公共Serializable addOneUser(UUser用户){退回这个。裴迅道。addOneUser(用户);} @ Override public int check username(String loginname){返回这个。裴迅道。检查用户名(login name);} }道以及DaoImpl
包ais。裴迅。道;导入Java。io。可序列化;导入Java。乌提尔。列表;导入Java。乌提尔。地图;导入ais。ADL。模特。树节点;导入ais。框架。刀。ibasedao导入ais。用户。模特。uuser公共接口裴迅道扩展了IBaseDAO { public Serializable addOneUser(UUser用户);公共内部检查用户名(字符串登录名);}打包ais。裴迅。刀。impl
导入Java。io。可序列化;导入Java。SQL。SqLexception导入Java。乌提尔。ArrayList导入Java。乌提尔。列表;导入Java。乌提尔。地图;导入组织。冬眠。休眠异常;导入组织。冬眠。查询;导入组织。冬眠。会议;导入组织。弹簧框架。刀。DataAccessException导入组织。弹簧框架。ORM。冬眠3。hibernate回调;导入com。赛贝斯。JDBC 2。JDBC。转换;导入ais。ADL。模特。树节点;导入ais。框架。刀。冬眠。basedaoimpl导入ais。组织。模特。uoorganization导入ais。裴迅。刀。裴巽道;导入ais。resmngt。au obj。模特。AuditingObject导入ais。用户。模特。uuser/* * * @作者对于langel * */公共类裴勋道Impl扩展了BaseDAOImpl实现了裴迅道{/* * *添加用户*/@覆盖公共可序列化的附加用户(UUser用户){可序列化的服务尝试{ ser=this.getHibernateTemplate().保存(用户);}catch(异常e){ e . print stack trace();返回null}返回ser} /* * ajax校验*/@SuppressWarnings('未选中)@覆盖公共int检查用户名(字符串loginname) { //设置一个标识符用于返回(同Internationalorganizations)国际组织标志=0;请尝试{ StringBuffer sbf=new StringBuffer();sbf.append('来自UUser u,其中u . floginname=');sbf。追加(' ' ' loginname ' ' ');//如果从数据库中查询出数据,表示用户名重复ListUUser list=this。gethibernatetemplate().查找(sbf。ToString());if(列表。size)(0){ flag=1;} }catch(异常e){ e . print stack trace();}返回标志;}}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。