<script > var loginDialog; $(function(){ loginDialog = $('#loginDialog').dialog({ closable: true,modal:true,closed:true,buttons:[{ text:'登录',handler:function(){ //console.info('点击登陆按钮了'); $('#loginForm').form('submit',{ url:'loginAction',onSubmit:function(){ if($('#loginForm').form('validate')) checkSubmitFlg=true; else console.info("error"); return $('#loginForm').form('validate'); },success: function(data) { /* console.info("ok"); alert(data); */ console.info("oks"); if(checkSubmitFlg) { var userName = $("#userName").val(); var psd = $("#psd").val(); var vercode = $("#vercode").val(); var url1 = "isExistName"; var url2 = "isMatch"; var url3 = "isVercodeCorrect"; console.info("ok1"); console.info(psd); var result1 = $.ajax({ url:url1,dataType:"json",data:{userName : userName},async:false,type:"post" }).responseText; if(result1=="") {$("#error").html("用户不存在"); return false;} var result2 = $.ajax({ url:url2,data:{userName : userName,psd:psd},type:"post" }).responseText; if(result2=="") {$("#error").html("用户名或密码错误"); return false;} var result3 = $.ajax({ url:url3,data:{vercode : vercode},type:"post" }).responseText; if(result3=="") { $("#errorVer").html("请输入正确的验证码"); refresh(); return false; } $('#loginForm').submit();$('#loginForm').form('clear'); } } }); console.info("submit"); } }] }); }); </script> <script type="text/javascript"> function refresh() { var timenow = new Date().getTime(); // 重新获取验证码图片的src属性 document.getElementById("authImg").src="auth.jpg?d="+timenow; } function changeValidateCode(obj) { //获取当前的时间作为参数,无具体意义 var timenow = new Date().getTime(); //每次请求需要一个不同的参数,否则可能会返回同样的验证码 //这和浏览器的缓存机制有关系,也可以把页面设置为不缓存,这样就不用这个参数了。 obj.src="auth.jpg?d="+timenow; } </script>
<body> 主页 <div> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="loginDialog.dialog('open');">登录</a> </div> <div id="loginDialog" style="width:400px;height:300px;" > <form id=loginForm method="post" > <div style="color:#F00;font-size:15px" id="error"><p></p></div> <table> <tr> <th>用户名</th> <td><input class="easyui-validateBox" id="userName" name ="userName" data-options="required:true"/></td> </tr> <tr> <th>密 码</th> <td><input class="easyui-validateBox" id = "psd" name ="psd" type="password" data-options="required:true"/></td> </tr> <tr> <th>验证码</th> <td> <img src="auth.jpg" id="authImg" onclick="changeValidateCode(this)"/>看不清?<a href="javascript:refresh();">单击此处刷新</a> </td> </tr> <tr> <td style="font-size:12px">请输入验证码</td> <td><input class="easyui-validateBox" id = "vercode" name ="vercode" data-options="required:true"/></td> <td><div style="color:#F00;font-size:15px" id="errorVer"><p></p></div></td> </tr> </table> </form> <h4> <a href="/healthcloudpro/manager/subsystem/main/registrate.jsp">注册</a></h4> </div> </body>
package com.healthcloud.framework.subsystem.main.action; import java.io.IOException; import java.io.PrintWriter; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.convention.annotation.Action; import com.healthcloud.framework.core.base.action.BaseAction; import com.healthcloud.framework.subsystem.main.service.mainUserinfoService; import org.springframework.stereotype.Controller; @Controller //标注控制层的主键 public class isNameExistAction extends BaseAction { private static final long serialVersionUID = 1L; @Resource private mainUserinfoService userinfoService; @Action(value = "/isExistName") @Override public String execute() { HttpServletResponse response = ServletActionContext.getResponse(); String uName; uName = httpServletRequest.getParameter("userName"); if(userinfoService.isExist(uName)) { PrintWriter out; try { out = response.getWriter(); out.print("exist"); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return "exist"; } else { return null; } } }原文链接:https://www.f2er.com/ajax/165188.html