jQuery progressbar通过Ajax请求实现后台进度实时功能

前端之家收集整理的这篇文章主要介绍了jQuery progressbar通过Ajax请求实现后台进度实时功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文主要演示Jquery progressbar的进度条功能。js通过ajax请求向后台实时获取当前的进度值。后台将进度值存储在cookie中,每次请求后,将进度条的值增2个。以此演示进度条的实时显示功能

前台index.jsp

jsp代码如下

<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

<!DOCTYPE html>

My JSP 'index.jsp' starting page

struts.xml文件的配置

后台的java代码()

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,2013 Nanjing,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 = Integer.parseInt(progressValueString);
    if(progressValue>100){
    progressValue = 0;
    }
    System.out.println(" getCookie:---progressValue="+progressValue);
    writeJsonString("{\"progressValue\":\"" + progressValue + "\"}");
    progressValue += 2;
    setCookie(getResponse(),"progressValue",progressValue+"",365
    246060);
    }

/**

  • 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 = 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();
}
}
}

运行

将项目部署到Tomcat上之后,在浏览器中输入URL,则可以看到进度条逐渐更新

源码下载:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

猜你在找的Ajax相关文章