jsp页面:

$(document).ready(function() {

setInterval(function myTimer()

{

//alert('a');

getViews();

},1000);

});

//播放

function getViews(){

$.ajax({

'url':"${pageContext.request.contextPath}/video/getVideos.action?r="+Math.random()+"&open=1",

'data': '',

'dataType': 'json',

'type': 'get',

'error': function(data){

alert("error");

return false;

},

'success': function(data) {

if(null != data && '' != data){

//alert(data.updateFlag);

if(data.updateFlag==0){//如果data.updateFlag=0 不刷新

//alert("data.updateFlag=0");

}

else{

if(data.videoIds != null && data.videoIds != ""){

var listIds=data.videoIds;

var i=0;

for(;i

//alert("show:"+i+"id=:"+listIds[i]);

showView(listIds[i],i);//播放

}

for(var j=listIds.length;j<9;++j){

//alert("Stop:"+j);

StopPlayVideo(j);

}

}

}

}

}

});

}

此处由于此代码实现的功能是通过ajax定时访问后台Hashtable,所以为了是系统区别url不同、ajax返回值不同,特意在url后加上r=+Math.random()

java后台处理方法:

/**

* 双服务器九宫格显示

*

* @return

*/

@Action(value = "getVideos" ,results={

@Result(name = SUCCESS,location="videos2.jsp")

})

public String getVideos() {

if (open == 301) {

return SUCCESS;

} else {

try {

VideoHashTable videoHashTable = VideoHashTable.getInstance();

Hashtable hashTable = videoHashTable.getRht();

Map map = new HashMap>();

if (videoHashTable.isUpdateFlag() == true) {

Enumeration en = hashTable.keys();

videoIds = new ArrayList();

while (en.hasMoreElements()) {

Long key = (Long) en.nextElement();

// vth.get(key);

videoIds.add(key);

}

map.put("videoIds", videoIds);

map.put("updateFlag", 1L);

videoHashTable.setUpdateFlag(false);

System.out.println("getVideos:" + videoIds);

SendMessage.sendObject(map);

} else {

map.put("updateFlag", 0L);

SendMessage.sendObject(map);

}

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

}

关键要把传到jsp的页面存到map中,在通过json传值。

SendMessage.sendObject(map)方法所在类及方法:

package com.supcon.honcomb.utils;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;

import org.apache.http.HttpResponse;

import org.apache.struts2.ServletActionContext;

public class SendMessage {

public static void sendMessage(String responseText){

try {

PrintWriter out = ServletActionContext.getResponse().getWriter();

out.print(responseText);

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void sendObject(Object obj) throws Exception {

PrintWriter pw;

String rtn = "";

HttpServletResponse response = ServletActionContext.getResponse();

response.setContentType("text/html");

response.setCharacterEncoding("UTF-8");

rtn = JsonUtil.JsonFromObject(obj);

pw = response.getWriter();

pw.write(rtn);

pw.flush();

pw.close();

}

}

java jsp ajax_ajax的json传值方式在jsp页面中的应用相关推荐

  1. 找到你的位置(JS在页面中的位置)最常用的方式是在页面中head部分放置script元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分...

    找到你的位置(JS在页面中的位置) 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页 ...

  2. Jsp与Servlet之间传值方式

    JSP与servlet之间的传值方式 JSP与 servlet之间的传值有两种情况:JSP -> servlet, servlet -> JSP. 通过对象 request和 sessio ...

  3. jsp快到截止日期字体颜色变色_jsp页面中字体变色问题 - Java / Web 开发

    jsp页面中字体变色问题 - Java / Web 开发 [@title] function diyCheck(){ var fm = document.frmMain; s1=fm.YEAR.val ...

  4. java前后端用json传值_前后端——json的传值与接收(springMvc)

    原标题:前后端--json的传值与接收(springMvc) 前端传值: 通过将要传输的数据封装为json,然后再通过ajax接收: JSON.stringify(data) 1 后端接收值只需要通过 ...

  5. java jsonsql_java遍历解析json数据并插入到数据库中(MySQL)

    1.思路 读取json资源文件 File转化为JSON串 JSON串转对象集合 遍历插入到数据库 2.工具(jar包) 使用spring-core,fastjson,commons-io,mysql ...

  6. 如何解析json并展示到html页面中,js解析json并生成html页面

    issue.js中json格式: var issueList = [{ date : '201108', issues : [{ n : '5', t : '20110817', d : '../52 ...

  7. java验证码画布类型,【Java工具类】使用Kaptcha生成验证码写回页面中

    1. 导入依赖 导入kaptcha依赖: com.github.penggle kaptcha 2.3.2 2. 编写配置类: @Configuration public class KaptchaC ...

  8. struts中action与页面之间的传值方式

    1.默认配置下的excute方法传值 如何把登陆页面中的用户名传递到登录成功的页面中呢? 有三种方式, 1,使用默认的action的传递方式. 2,自定义一个vo,在action中使用这个vo 3,使 ...

  9. jsp a标签如何传值,如何接受

    在a标签中,如要传id和password,则格式为 <a href="xxx.jsp?id=1111&password=1111"> </a> 在下 ...

最新文章

  1. Windows Phone开发(39):漫谈关键帧动画上篇 转:http://blog.csdn.net/tcjiaan/article/details/7550506...
  2. 反转比特位(文章最后有干货)【转】
  3. PCIe例程理解(一)用户逻辑模块(接收)仿真分析
  4. DQN 笔记 State-action Value Function(Q-function)
  5. python false 0_python float(0) is 0.0 为什么是 False?
  6. Geek的入门神器:micropython-能跑python的stm32开发板
  7. 阿里巴巴开发规范集合处理
  8. 大规模数据生成 (500万条数据)
  9. js中的 toUpperCase()中开头的u和c一定要大些
  10. 双网卡电脑同时访问内外网设置静态路由表
  11. BlackBerry黑莓7230/7290等常用的功能简介以及技巧分类【转载】
  12. 美团token解决思路
  13. 计算机黑屏论文,在家写论文电脑突然黑屏自救方案,这几个方法可以解决95%以上的电脑问题...
  14. Mac外接4k显示器文字变小
  15. 单点登录--微服务的登录解决方案
  16. windows 完成端口
  17. Datastage,Informatica,Kettle
  18. Cracked VMware Workstation 7.0
  19. 疯狂Java讲义(十三)----第二部分
  20. 怎么恢复佳能C300摄像机误删除或格式化的MXF视频

热门文章

  1. 前端学习(1423):ajax错误处理
  2. mongo:(1)nosql简介
  3. 玩转oracle 11g(35):rman备份-参数文件spfile损坏恢复
  4. Matlab中求数据概率分布的方法
  5. Express中use挂载中间件的方法
  6. Linux守护进程的创建(结合nginx框架)
  7. Tomcat架构与原理
  8. 小白兔生小白兔-菲波拉契数列问题
  9. vscode设置中文,设置中文不成功问题
  10. host 'xx' is not allowed to connect to this MySql server