项目源代码下载:http://download.csdn.net/detail/nuptboyzhb/6262253
1.简介
本文主要演示Jquery progressbar的进度条功能。js通过ajax请求向后台实时获取当前的进度值。后台将进度值存储在cookie中,每次请求后,将进度条的值增2个。以此演示进度条的实时显示功能。
【Jquery progressbar通过Ajax请求获取后台进度演示】2.前台index.jsp
jsp代码如下
My JSP 'index.jsp' starting page - 锐客网
3.struts.xml文件的配置
4.后台的java代码()
package edu.njupt.zhb.test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
/*
*@author: ZhengHaibo
*web:http://blog.csdn.net/nuptboyzhb
*mail:zhb931706659@126.com
*Sep 13, 2013Nanjing,njupt,China
*/
public class TestAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = -8697049781798812644L;
/**
* 通过Ajax获取json格式的ProgressBar值
* Type:Action
*/
public void getProgressValueByJson(){
String progressValueString = getCookie(getRequest(),"progressValue");
int progressValue = https://www.it610.com/article/Integer.parseInt(progressValueString);
if(progressValue>100){
progressValue = https://www.it610.com/article/0;
}
System.out.println(" getCookie:---progressValue="https://www.it610.com/article/+progressValue);
writeJsonString("{\"progressValue\":\"" + progressValue + "\"}");
progressValue += 2;
setCookie(getResponse(),"progressValue",progressValue+"",365*24*60*60);
}
/**
* Get HttpServletRequest Object
* @return HttpServletRequest
*/
public HttpServletRequest getRequest(){
return ServletActionContext.getRequest();
} /**
* Get HttpServletResponse Object
* @return HttpServletResponse
*/
protected HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
} /**
* Get PrintWriter Object
* @return PrintWriter
* @throws IOException
*/
protected PrintWriter getWriter() throws IOException {
return this.getResponse().getWriter();
} /**
* 写Json格式字符串
* @param json
*/
protected void writeJsonString(String json) {
try {
getResponse().setContentType("text/html;
charset=UTF-8");
this.getWriter().write(json);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取cookie
* @param request
* @param name
* @return String
*/
public static String getCookie(HttpServletRequest request, String name) {
String value = https://www.it610.com/article/null;
try {
for (Cookie c : request.getCookies()) {
if (c.getName().equals(name)) {
value = c.getValue();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return value;
}
/**
* 设置cookie
* @param response
* @param name
* @param value
* @param period
*/
public static void setCookie(HttpServletResponse response, String name, String value, int period) {
try {
Cookie div = new Cookie(name, value);
div.setMaxAge(period);
response.addCookie(div);
} catch (Exception e) {
e.printStackTrace();
}
}
}
5.运行
将项目部署到Tomcat上之后,在浏览器中输入URL,则可以看到进度条逐渐更新
文章图片
推荐阅读
- 【前端】|cnpm显示(无法加载文件 C:\Users\hp\AppData\Roaming\npm\cnpm.ps1)
- 【Java】|SSH框架搭建整合
- 【java】|springmvc+jersey实现图片跨服务器上传到并回显