我已经使用了Timeout-Dialog.js jQuery插件,并且单独工作正常。
但是在与Struts2集成后它无法正常工作。
这是成功登录后会调用的页面。
<script src="../js/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
<script src="../js/highlight.js" type="text/javascript" ></script>
<script src="../js/ui.timeoutdialog.js" type="text/javascript" ></script>
<link href="../css/jquery.ui.css" type="text/css" rel="stylesheet" />
<link href="../css/app.css" type="text/css" rel="stylesheet" />
<script language="javascript" type="text/javascript">
$(function(){
$("#timeoutDialog").timeoutdialog({
idleTimeout: 5,
idleAlert: 1,
keepAliveURL: "ajax.html",
validResponseText: 'OK',
countdownTarget: 'countdownTargetSpan',
buttonContinueText: 'OK',
buttonSignoffText: 'Sign Off',
onTimeout: function() {
alert("timeout");
window.location = "login.jsp";
},
onSignoff: function(){
alert("signoff");
window.location = "login.jsp";
}
});
});
</script>
</head>
<body>
<div id="timeoutDialog" style="display:none;height:50px;">
<p>Your session will timeout shortly.</p>
<p>
You will time out in <span id="countdownTargetSpan" style="font-weight:bold"> seconds.</span>
</p>
</div>
<div id="menu"
style="position: relative; height: 590px; width: 500px; float: left;">
<%@ include file="pushmany.jsp"%>
</div>
</body>
</html>
struts.xml中
<action name="login" class="atri.lms.login.action.LoginAction">
<result name="input">/jsp/login.jsp</result>
<result name="success">/jsp/success.jsp</result>
<result name="error">/jsp/error.jsp</result>
</action>
的login.jsp
<form action="login1" method="post" id="login" theme="css_xhtml">
<div id="footer"><img src="../images/alogo.png" width="150px" height="40px"></div>
<div id="container">
<div id="div"><h2><i> Login Here</i></h2></div>
<div class="div1">
<div id="header"><img src="/LinenProject/images/indus.png" width="150px" height="100px"></div>
<table id="tab">
<tr><td colspan="2" id="err"><s:property value="%{#request.error}"/></td></tr>
<tr><td class="td1">User Name:</td><td class="td1" width="40px"><input type="text" id="username" name="username" class="in" value='<s:property value="username"/>'/></td></tr>
<tr><td></td><td><label class="error"></label></td></tr>
<tr><td class="td1">Password:</td><td class="td1"><input type="password" id="password" name="password" class="in"/></td></tr>
<tr><td></td><td><label class="error"></label></td></tr>
</table>
<div id="div2"><input type="submit" value="Login" id="submit"/></div>
</div>
</div>
</form>
动作类如下
if(loginVo==null){
System.out.println("loginvo is null");
//addFieldError("username", "Username or Password is wrong");
request.setAttribute("error", "Username or Password is wrong");
return INPUT;
}
else if((loginVo.getLoginid().equals(user.getUsername()) && (loginVo.getPassword().equals(user.getPassword()))))
{
System.out.println("Inside elseif............");
sessionMap.put("name",user.getUsername());
System.out.println("sessionsssssssssssss"+sessionMap.get("name"));
return SUCCESS;
}
else
{
System.out.println("else block");
//addFieldError("username", "Username or Password is Incorrect");
request.setAttribute("error", "Username or Password is Incorrect");
return INPUT;
}
问题是timeoutdialog()
无法正常工作,在加载动作类时,调用了onSignoff
方法,我不明白其原因。