我想在页面上显示一个等待框,直到JSP中的Java代码完成执行。是否有可能,如果您查看下面的代码,是否可以在页面上显示waitBox,直到“ UA.activateUser(UUID); ”完成其执行。
JSP代码:
<html>
<head>
<title>Sorry</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script type="text/javascript" src="ext-all.js"></script>
<link rel="stylesheet" type="text/css" href="ext-all.css" />
<script type="text/javascript">
Ext.onReady(function(){
Ext.MessageBox.show({
msg:'Activating your account, please wait....',
progressText:'Authenticating E-Mail address',
width:300,
wait:true,
waitConfig:{interval:200}
});
setTimeout(function(){
Ext.MessageBox.hide();
Ext.example.msg('Welcome','Your account has been activated, You can now login');
},8000);
});
</script>
</head>
<body>
</body>
</html>
<%
String UUID=request.getParameter("uuid");
userOperation UA=new userOperation();
UA.activateUser(UUID);
%>
答案 0 :(得分:2)
是的,这是可能的:只需在隐藏消息框的JSP代码之后输出script
元素。浏览器在收到页面时呈现页面,并在收到页面时执行script
个元素。但这意味着您无法使用Ext
的{{1}},因为这将等待页面加载完成。
这些方面的东西:
onReady
注意我已经使用JspWriter#flush
来确保在激活用户之前已将部分输出发送到浏览器。