功能要求:
第一步,在客户端的浏览器里,点击一个按钮,
以文件流的形式从服务器端下载一个文件到客户端。
第二步,修改后台数据库,把下载时间写在数据库里。
第三步,把更新数据库的时间再显示到本页面。问题:下载文件后,action不能再次提交到本页面。
只能在struts的action里面return null;
所以不知道如何把后台的时间再次显示到客户端。
请高手解答。谢谢了。
第一步,在客户端的浏览器里,点击一个按钮,
以文件流的形式从服务器端下载一个文件到客户端。
第二步,修改后台数据库,把下载时间写在数据库里。
第三步,把更新数据库的时间再显示到本页面。问题:下载文件后,action不能再次提交到本页面。
只能在struts的action里面return null;
所以不知道如何把后台的时间再次显示到客户端。
请高手解答。谢谢了。
af.setPath("xx.do?xxxxx");//设置转向的路径
af.setRedirect(true);
return af;
你可以尝试下,是否能转向
要么再查一遍
或者 在客户端提交过去的时间放到request中 前台再接收打个比方 你做个登陆页面 就是从一个页面登陆 不用添加到数据库 然后把用户名和密码显示到另一个页面会做了吗
在public ActionForward(ActionMapping mapping,ActionForm form,HttpServletRequest,HttpServletReponse response){
if(这里是文件下载并且数据更新成功条件){
response.sendRedirect(".jsp?id="+id);//
或者用数据转发方式,也可以,
//或者,把数据封装成对象放入request中,再return mapping.forward(".jsp");
}
else{
return mapping.findward("error");
}
}
2.当你在页面点击下载的时候,这个时候是请求你真正的下载类,这个点击事件完成的同时,你发起ajax请求去访问A类(A类跟普通action一样).可以设置每2秒去访问一次.返回下载信息.
3.你的下载action类把流输出完成后,改变A类中的存放下载信息对象的内容.比如:flag=1表示下载完成,当你ajax获取到flag=1时,则把其他信息也输出来就行了.