本文主要演示Jquery progressbar的进度条功能。js通过ajax请求向后台实时获取当前的进度值。后台将进度值存储在cookie中,每次请求后,将进度条的值增2个。以此演示进度条的实时显示功能。
前台index.jsp
jsp代码如下
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>My JSP 'index.jsp' starting page
struts.xml文件的配置
后台的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;
public class TestAction extends ActionSupport {
private static final long serialVersionUID = -8697049781798812644L;
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*24*60*60);
}
public HttpServletRequest getRequest(){
return ServletActionContext.getRequest();
}
protected HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}
protected PrintWriter getWriter() throws IOException {
return this.getResponse().getWriter();
}
protected void writeJsonString(String json) {
try {
getResponse().setContentType("text/html;charset=UTF-8");
this.getWriter().write(json);
} catch (IOException e) {
e.printStackTrace();
}
}
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;
}
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,则可以看到进度条逐渐更新
源码下载:http://xiazai.jb51.net/201610/yuanma/jqueryProgressbar(jb51.net).rar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



