成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jQuery progressbar通過Ajax請求實現后臺進度實時功能
全站頭部文字 我要出現在這里
jQuery progressbar通過Ajax請求實現后臺進度實時功能 653 2024-02-15   

本文主要演示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+"/";
%>

< <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -->
<!DOCTYPE html>
<html>
 <head>
 <base >

 <title>My JSP 'index.jsp' starting page</title>
 <link rel="stylesheet" type="text/css" >
 <link rel="stylesheet" type="text/css" >
 <link rel="stylesheet" type="text/css" >
 <script type="text/javascript" src="http://www.gimoo.net/t/1812/js/jquery.min.js"></script>
 <script type="text/javascript" src="http://www.gimoo.net/t/1812/js/jquery.easyui.min.js"></script>
 <script type='text/javascript'>
 var timerId;
 $(function(){
 //每隔0.5秒自動調用方法,實現進度條的實時更新
 timerId=window.setInterval(getForm,500);
 });
 function getForm(){
   //使用JQuery從后臺獲取JSON格式的數據
   $.ajax({
    type:"post",//請求方式
    url:"getProgressValueByJson",//發送請求地址
    timeout:30000,//超時時間:30秒
    dataType:"json",//設置返回數據的格式
    //請求成功后的回調函數 data為json格式
    success:function(data){
     if(data.progressValue>=100){
      window.clearInterval(timerId);
     }
     $('#p').progressbar('setValue',data.progressValue);
    },
    //請求出錯的處理
    error:function(){
     window.clearInterval(timerId);
     alert("請求出錯");
    }
   });
 }
 </script>
 </head>
 <body>
  <div style="margin:100px 0;"></div>
  <div id="p" class="easyui-progressbar" style="width: 400px;"></div>
 </body>
</html>

struts.xml文件的配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
 <constant name="struts.devMode" value="true" />
 <package name="front" extends="struts-default" namespace="/">
  <action name="getProgressValueByJson" class="edu.njupt.zhb.test.TestAction" method="getProgressValueByJson">
   <result name="success"></result>
  </action>
  <action name="TestAction" class="edu.njupt.zhb.test.TestAction">
   <result type="httpheader"></result>
  </action>
 </package>

</struts>

后臺的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, 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*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 = 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,則可以看到進度條逐漸更新

查看圖片

源碼下載:http://xiazai.gimoo.net/201610/yuanma/jqueryProgressbar(gimoo.net).rar

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持綠夏網。



主站蜘蛛池模板: 金璐莹| 山东教育电视台直播在线观看| 宝宝满月酒微信邀请函| 心花路放 豆瓣| 石田介雄| 命运简谱| 69视频免费看| 七下语文第一单元作文| 楞严咒心咒全文| 范冰冰激情| 大珍珠演员表介绍| 港股三大指数| 电影英雄| 小姐诱心国语未删减版| 女同性视频| 珍珠传奇 电视剧| 神经内科出科个人总结| 大海啊故乡钢琴谱| 燃冬海报| a级免费电影| 红灯区1996| 李乃文宋丹丹朱媛媛演的电视剧| 变形金刚6免费观看高清完整版| 高达uce| 我们的故事 电视剧| 挠脚心 | vk| 山子高科股吧| 暴走财神1| 我爱五指山我爱万泉河| 猿球崛起| 铁探粤语版在线观看| 绿门背后| 水中生孩子视频| angelababy婚礼大作战| 男同操视频| 斯维特拜克之歌| 女人的战争剧情介绍| 小猪佩奇下载| 188549.神秘的电影| 小腿垫东西睡觉正确图| 塞下曲景然伶儿|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103