Jquery、Ajax、Struts2完成定时刷新的方法
编程学习 2021-07-05 11:23www.dzhlxh.cn编程入门
今天一个需求,需要在页面上动态显示后台程序执行的进度,那么在页面上会定时刷新,使用了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("")中有中文的时候,有乱码问题,如果哪位大侠知道怎么处理,还希望指点一二。
代码如下:
<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("")中有中文的时候,有乱码问题,如果哪位大侠知道怎么处理,还希望指点一二。