java jsp ajax_ajax的json传值方式在jsp页面中的应用

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();

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习(1383):多人管理项目3

blog.js const express require(express); //创建网站服务器 const app express(); //开放静态资源文件 const path require(path);//告诉express框架模板所在的位置 app.set(views, path.join(__dirname, views)); //告诉express框架模板的后缀是什么 app.set(view engine…

梁世豪的读书计划

在软工王老师的建议下&#xff0c;我在本学期要认真阅读《梦断代码》 &#xff0c;《你的灯亮着吗》和《大道至简》这三本可以让我受益匪浅的经典图书。 我的大三下学期软件工程课下相关图书阅读计划: 清明假前的这一个月期间内读完必读书目《梦断代码》。 劳动节前的一个月内看…

java 运算优先级_Java-运算符优先级

我们先后学习了不同的运算符&#xff0c;通过运算符我们的能进行各种不同的操作实现自己的想要的效果&#xff0c;但是此时还存在一个问题&#xff0c;当在一个表达式中&#xff0c;有可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象。由于表达式有多种运算&a…

前端学习(1384):多人管理项目4资源的路径

blog.js const express require(express); //创建网站服务器 const app express(); //开放静态资源文件 const path require(path);//告诉express框架模板所在的位置 app.set(views, path.join(__dirname, views)); //告诉express框架模板的后缀是什么 app.set(view engine…

mysql中新建不了查询语句_将excel和mysql建立链接后,如何通过在excel里面执行mysql查询语句,然后建立查询...

启动excel,点击data选项卡&#xff0c;在这个选项卡下选择new query&#xff0c;from other sources&#xff0c;form odbc然后点击advanced options选项&#xff0c;填入如下查询语句select * from test1.biao1;解释一下&#xff1a;test1是我的mysql一个数据库的名字&#xf…

前端学习(1385):多人管理项目5抽离

blog.js const express require(express); //创建网站服务器 const app express(); //开放静态资源文件 const path require(path);//告诉express框架模板所在的位置 app.set(views, path.join(__dirname, views)); //告诉express框架模板的后缀是什么 app.set(view engine…

第三篇——第二部分——第六文 监控SQL Server镜像

第三篇——第二部分——第六文 监控SQL Server镜像 原文:第三篇——第二部分——第六文 监控SQL Server镜像 原文出处&#xff1a;http://blog.csdn.net/dba_huangzj/article/details/26846203要优化&#xff0c;首先要监控&#xff0c;看看是否有性能问题&#xff0c;如果有&a…

java 字符过滤器_Java Web---登录验证和字符编码过滤器

什么是过滤器&#xff1f;在Java Web中&#xff0c;过滤器即Filter。Servlet API中提供了一个Filter接口(javax.servlet.Filter)。开发web应用时&#xff0c;假设编写的Java类实现了这个接口&#xff0c;则把这个Java类称之为过滤器Filter。通过Filter技术&#xff0c;开发者能…

前端学习(1386):多人管理项目6骨架

blog.js const express require(express); //创建网站服务器 const app express(); //开放静态资源文件 const path require(path);//告诉express框架模板所在的位置 app.set(views, path.join(__dirname, views)); //告诉express框架模板的后缀是什么 app.set(view engine…

Error applying BeanValidation relational constraints错误的解决

错误示例&#xff1a;Exception in thread "main" org.hibernate.HibernateException: Error applying BeanValidation relational constraintsat org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.…

前端学习(1387):多人管理项目7登录 数据库连接

blog.js const express require(express); //创建网站服务器 const app express(); //开放静态资源文件 const path require(path); require(./model/connect)//告诉express框架模板所在的位置 app.set(views, path.join(__dirname, views)); //告诉express框架模板的后缀是…

mysql教程丿it教程网_MySQL整体

整体大纲数据库实现数据持久化使用完整的管理系统统一管理&#xff0c;易于查询数据库的相关概念DB&#xff1a;数据库(database)&#xff1a;存储数据的“仓库”。它保存了一系列有组织的数据。DBMS数据库管理系统(Database Management System)。数据库是通过DBMS创建和操作的…

前端学习(1388):多人管理项目8user登录

blog.js const express require(express); //创建网站服务器 const app express(); //开放静态资源文件 const path require(path); require(./model/connect)//告诉express框架模板所在的位置 app.set(views, path.join(__dirname, views)); //告诉express框架模板的后缀是…

java 通用分页_一个通用的Java分页基类代码详解

分页的基类import java.util.List;/*** 分页显示的标准类,基本操作,是先给予-当前页数一共的数据条数-每页显示的条数,* 然后在初始化该类,得到总共页数,和开始序号和结束序号,* 然后数据库分页用到开始序号和结束序号,得到数据集合后赋值给该类的list属性,** 然后把该类发送到…

前端学习(1364):学生档案信息管理6

service.js //引入http模块 const http require(http); //创建网站服务器 const app http.createServer();const template require(art-template); const path require(path); const serveStatic require(serve-static);//静态资源服务 const serve serveStatic(path.jo…

lua元表(简单例子)

Set {} Set.mt {}--定义普通的表作为元表&#xff0c;为了避免命名污染直接放在Set内部 function Set.new(t)local set {}setmetatable(set, Set.mt)--一组相关的表共享一个metatable(通过这个可以描述他们共同的行为)&#xff0c;一个表也可以是自身的metatable(描述私有行…

java windows7 环境变量_Windows7环境变量中,系统变量与用户变量的优先级

就我理解&#xff0c;不存在先后区别。因为系统变量和用户变量完全不是一回事情&#xff0c;因此某个用户登录他的账户&#xff0c;并且启用了用户变量&#xff0c;那么它会先检查用户变量&#xff0c;如果没有检查到就检查系统变量&#xff0c;都没有则报错。如果按照这样的理…

前端学习(1389):多人管理项目9登录功能具体实现

blog.js const express require(express); //创建网站服务器 const app express(); //开放静态资源文件 const path require(path); require(./model/connect)//告诉express框架模板所在的位置 app.set(views, path.join(__dirname, views)); //告诉express框架模板的后缀是…

英语常见介词错误用法,你有犯过吗?

英语常见介词错误用法&#xff0c;你有犯过吗&#xff1f; 1:错:come to here. 对:come here. 过来。here ,there,home之类的副词&#xff0c;前面不用介词in ,at,(但可以加from,比如from home,from here),直接跟在动词come 后面就可以了。2:错:look at the mirror. 对:look in…

java弹出提示窗口_Java实现弹窗效果的基本操作(2)

本文为大家分享了Java实现弹窗效果的实现代码&#xff0c;供大家参考&#xff0c;具体内容如下1、任务简介我在5月23日写过一篇文章为《Java弹窗操作》&#xff0c;从目前来看浏览量不错&#xff0c;故我将之前省略了的两个程序分享出来&#xff0c;同时也将更多的方法分享出来…