问题描述:在公司登陆页面时,需要在调用登陆方法是,做一下新的验证,需要查询一下数据库,因为公司调用的登录java方法是使用jar包里的class,所以是用ajax进行调用。
改ajax非常简单,功能少,简介。
jsp页面上的做法:
<td class="submit">
<input name="" type="button"class="btnLogin" value="登 录" tabindex="3"οnclick="javascript:beforeLogin()">
</td>
function beforeLogin(){
var url = "/oa/checkajax.do";
$.post(url,{
username : $("#username").val()
},function(data){
if(data == "success") {
//成功调用login()方法,这个为公司原有的方法
login();
}else{
location.href="/oa/timeOutJump.jsp";
}
});
}
oaWeb的stuts里面配置你需要新建的ajax后台类
<action path="/checkajax" type="xx.xx.xx.uiframework.extend.action.CheckAjax" unknown="false" validate="true">
</action>
接下来是java类
package xx.xx.xx.uiframework.extend.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 该类用于ajax后台验证,在登录时验证其是否可以直接从oa登录,如果um_user表中we_chat值为1,则可以,如果为0,则不可以
* @author liuh
*
*/
public class CheckAjax extends Action {
public ActionForward execute(ActionMapping mapping , ActionForm form ,
HttpServletRequest request , HttpServletResponse response) throws Exception {
String username = request.getParameter("username");
User myUser = UserService.getInstance().getUserByAccount(username);
//如果存在用户且为1,可以登录,如果存在用户不为1,则不可以,如果不存在用户,又接下来的方法判断
if(myUser != null){
String zhiTongChe = myUser.getField("zhitongche");
if(zhiTongChe.equals("1")){
response.getWriter().print("success");
}else{
response.getWriter().print("failed");
}
}else{
response.getWriter().print("success");
}
return null;
}
}
ajax后台返回的failed跳转的jsp:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<%@page isELIgnored="false"%>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>跳转页面</title>
<script language="JavaScript" type="text/javascript" src="/common/js/jquery-1.7.2.min.js"></script>
<script language="JavaScript" type="text/JavaScript" src="/common/js/jquery.easyui.min.js"></script>
<script language="JavaScript" type="text/JavaScript" src="/common/js/locale/easyui-lang-zh_CN.js"></script>
<script language="JavaScript" src="/common/javascripts/cookie.js"></script>
<script language="JavaScript" type="text/JavaScript" src="/portal/resources/js/common.js"></script>
<script language="javascript">
$(function() {
jump(5);
});
function jump(count) {
window.setTimeout(function(){
count--;
if(count > 0) {
$('#num').html(count);
jump(count);
} else {
location.href="http://172.24.1.5/passport/";
}
}, 1000);
}
// http://172.24.1.5/passport/
</script>
</head>
<body>
<div align="center">
<span style="color:red">该用户不能使用该登录页面登录,请使用直通车登录!</span><br/>页面将在5秒后跳转... , 还剩<span id="num" style="color:red" >5</span>秒 <br/>
<span>如果浏览器没自动跳转,请 </span> <a href="http://172.24.1.5/passport/">点击这里</a>
</div>
</body>
</html>