|
今天一个需求,需要在页面上动态显示后台程序执行的进度,那么在页面上会定时刷新,使用了Jquery、Ajax、Struts2。直接上代码:
步骤一:导入jquery插件 复制代码 代码如下: <script type="text/javascript" src="js/easyui/jquery-1.8.0.min.js"></script>
步骤二:在<body></body>中添加信息显示的地方 复制代码 代码如下: <label id="context"></label>
步骤三:在页面中添加JS代码 复制代码 代码如下: <script type="text/javascript"> setInterval("Push()",1000*60); function Push() { $.ajax({ type: "POST", url: encodeURI("crmMaintenance/crmAirpolicyAction-takeAllMonitor.action"), success: function(data) { $('#context').text(data); } });} </script>
步骤四:在Struts2中,进行请求处理 复制代码 代码如下: public void takeAllMonitor() { try { HttpServletResponse response = ServletActionContext.getResponse(); PrintWriter out; out = response.getWriter(); response.setCharacterEncoding("utf-8"); //...插入业务逻辑 out.print("Synchronous..." ); out.close(); } catch (IOException e) { e.printStackTrace(); } }
到此,就可以实现定时刷新页面的效果,但是还存在一点问题,就是out.print("")中有中文的时候,有乱码问题,如果哪位大侠知道怎么处理,还希望指点一二。 |
|