项目中,过渡页面的进度条都如何实现?

在项目中,有很多转发页面,读取数据库时慢,需等待。如何加上进度条
[b]问题补充:[/b]
因为加载时间长,得用这个东西。一般数据量大的项目都应该用到吧。
[b]问题补充:[/b]
不计算,就是下一个页面出来进度条就消失。
[b]问题补充:[/b]
怎么设定呀。我做了一个感觉有好。
[b]问题补充:[/b]
KimShen 你好,这个execAndWait怎么用呀。我没用过struts2。麻烦能难个倒子么?
[b]问题补充:[/b]
我用的是struts2框架
[b]问题补充:[/b]
用Struts2 execAndWait 有个BUG。把数据都弄没了。
[b]问题补充:[/b]
我这个项目是很多这样加载的页面。添加了,修改了。超链接了。都用。怎么做方便呢还简单
[b]问题补充:[/b]
我就在XML配置一下。也没写别的什么代码。我关键没用过,不会。明天我再看看,再给你发。
[b]问题补充:[/b]
谢谢KimShen,我好好看一下。

import pojo.User;
import dao.HibernateDao;
import org.springframework.core.io.*;
import java.io.*;

public class TestAction {
//DAO
private HibernateDao hibernateDao;
//Resource代表资源
public Resource resource;

public HibernateDao getHibernateDao() {
return hibernateDao;
}
public void setHibernateDao(HibernateDao hibernateDao) {
this.hibernateDao = hibernateDao;
}

public Resource getResource() {
//模拟资源 这里硬编
return new ClassPathResource("quartz-1.6.4.zip");
}
public void setResource(Resource resource) {
this.resource = resource;
}

public String execute() throws IOException {

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

org.springframework.util.FileCopyUtils.copy(getResource()
.getInputStream(), byteArrayOutputStream);

User user = new User();
user.setByteTest(byteArrayOutputStream.toByteArray());

hibernateDao.save(user);

return "success";
}
}

struts.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">



1.jsp
wait.jsp


default




wait.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@taglib prefix="s" uri="/struts-tags"%>
"/>

帮人帮到地

据我所知很多都是假的

不过你可以用ajax技术去动态取进度状态

但我个人觉得实现起来太复杂,而且也不准确,没必要

Struts2 execAndWait
拦截器,插拔式

[quote]据我所知很多都是假的 [/quote]我感觉也是,见过用flash图片实现的

既然加载时间长,你可以用页面各个1-2分钟轮训一下状态就可以

没必要计算进度~

你计算的结果 很多时候都是不准确的!

js 有延时请求

你设定一下就行了

还是一个老问题,lz用的是什么框假 还是 单Servlet|JSP 这才识关键

用ajax请求就可以了

你在java端设立一个状态类 单列模式

然后你可以用ajax请求这个状态值

你后台程序成功后可以更改这个状态~

<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">


register.jsp
success.jsp

wait.jsp



default



最简单的一个进度条实现,就是你在最上面,放一个div用来显示正在加载,然后在页面的最下面用一段代码把这个div隐藏

比如你在body的下面
div id="loading">正在加载</div

然后在最后面

用Struts2 execAndWait 有个BUG。把数据都弄没了。

有这个bug?我用到现在怎么没发现?

方便发下代码吗?

建议使用ajax,jquery中有一个$.blockUI();$.unblockUI();不一定非要用一个进度条,可以使用一个动态的图片在那儿变化,等请求完成就可以进行页面的调转了!

[quote]
建议使用ajax,jquery中有一个$.blockUI();$.unblockUI();不一定非要用一个进度条,可以使用一个动态的图片在那儿变化,等请求完成就可以进行页面的调转了!
[/quote]

就像我们在下面的回答问题文本框中填写内容之后点击提交按钮一样,会出现一个动态的图标,等信息提交完成以后就图标消失!

呵呵,原理是重要的啊,现在发现好多的地方都有,我自己也想自己做个,有时间开发个玩玩