Jquery、Ajax、Struts2完成定时刷新

今天一个需求,需要在页面上动态显示后台程序执行的进度,那么在页面上会定时刷新,使用了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("")中有中文的时候,有乱码问题,如果哪位大侠知道怎么处理,还希望指点一二。

相关推荐