类似正在读取数据这样的功能该如何做
public ActionForward execute(ActionMapping mapping, ActionForm arg1, HttpServletRequest request, HttpServletResponse response) throws Exception {
//跳转到等待页面
response.sendRedirect( "/Test/a.jsp ");
/**
查询数据库数据
**/
//回到业务页面
return mapping.findForward( "current ");
}
我知道这样写是不可能成功呵呵,可是该怎么做呢,就是在EXECUTE方法中,我要先指向一个等待页面然后查询数据再回到业务页面,就是这样的
[解决办法]
使用 Ajax 不是就可以完成了吗?
[解决办法]
你的意思是要在ACTION处理的过程中,用户查看的页面给出提示:正在获取数据吧.
也不是特难,不要在ACTION里做手脚.
在JSP里嵌入一张页面/层,在ACTION提交的时候显示出来,等ACTION返回的时候再隐藏.
例子:
JSP页面代码:
<div id= "ProgressBar " style= "display:none; position: absolute; left: 40%; top: 50%;z-Index:1 " >
<iframe frameBorder=0 src= "pages/Progress.jsp " width=200 height=80 scrolling= "no ">
<script language= "javascript ">
function searchUserBrasInfo()
{
document.all( "ProgressBar ").style.display= " ";
var url= "XXXXXXXXX "
if(!validateSearchUserBrasInfoForm(document.forms(0)))
{
return;
}
window.document.forms[0].action=url;
window.document.forms[0].target= "_self ";
window.document.forms[0].submit();
disableForm(document.forms(0));
}
这样就可以了.你理解一下.
等ACTION返回的时候,因为相当于页面刷新了一次,所以disableForm(document.forms(0));
这句话就失效了.
[解决办法]
可以用4楼的这种做法,不过可能需要一点点小的改动,在显示这个隐藏层时,要把这个层放到页面的最外层,这样,用户可以等待而不会再去点击其它操作按键。
[解决办法]
ajax