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();
}
}
java jsp ajax_ajax的json传值方式在jsp页面中的应用相关推荐
- 找到你的位置(JS在页面中的位置)最常用的方式是在页面中head部分放置script元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分...
找到你的位置(JS在页面中的位置) 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页 ...
- Jsp与Servlet之间传值方式
JSP与servlet之间的传值方式 JSP与 servlet之间的传值有两种情况:JSP -> servlet, servlet -> JSP. 通过对象 request和 sessio ...
- jsp快到截止日期字体颜色变色_jsp页面中字体变色问题 - Java / Web 开发
jsp页面中字体变色问题 - Java / Web 开发 [@title] function diyCheck(){ var fm = document.frmMain; s1=fm.YEAR.val ...
- java前后端用json传值_前后端——json的传值与接收(springMvc)
原标题:前后端--json的传值与接收(springMvc) 前端传值: 通过将要传输的数据封装为json,然后再通过ajax接收: JSON.stringify(data) 1 后端接收值只需要通过 ...
- java jsonsql_java遍历解析json数据并插入到数据库中(MySQL)
1.思路 读取json资源文件 File转化为JSON串 JSON串转对象集合 遍历插入到数据库 2.工具(jar包) 使用spring-core,fastjson,commons-io,mysql ...
- 如何解析json并展示到html页面中,js解析json并生成html页面
issue.js中json格式: var issueList = [{ date : '201108', issues : [{ n : '5', t : '20110817', d : '../52 ...
- java验证码画布类型,【Java工具类】使用Kaptcha生成验证码写回页面中
1. 导入依赖 导入kaptcha依赖: com.github.penggle kaptcha 2.3.2 2. 编写配置类: @Configuration public class KaptchaC ...
- struts中action与页面之间的传值方式
1.默认配置下的excute方法传值 如何把登陆页面中的用户名传递到登录成功的页面中呢? 有三种方式, 1,使用默认的action的传递方式. 2,自定义一个vo,在action中使用这个vo 3,使 ...
- jsp a标签如何传值,如何接受
在a标签中,如要传id和password,则格式为 <a href="xxx.jsp?id=1111&password=1111"> </a> 在下 ...
最新文章
- Windows Phone开发(39):漫谈关键帧动画上篇 转:http://blog.csdn.net/tcjiaan/article/details/7550506...
- 反转比特位(文章最后有干货)【转】
- PCIe例程理解(一)用户逻辑模块(接收)仿真分析
- DQN 笔记 State-action Value Function(Q-function)
- python false 0_python float(0) is 0.0 为什么是 False?
- Geek的入门神器:micropython-能跑python的stm32开发板
- 阿里巴巴开发规范集合处理
- 大规模数据生成 (500万条数据)
- js中的 toUpperCase()中开头的u和c一定要大些
- 双网卡电脑同时访问内外网设置静态路由表
- BlackBerry黑莓7230/7290等常用的功能简介以及技巧分类【转载】
- 美团token解决思路
- 计算机黑屏论文,在家写论文电脑突然黑屏自救方案,这几个方法可以解决95%以上的电脑问题...
- Mac外接4k显示器文字变小
- 单点登录--微服务的登录解决方案
- windows 完成端口
- Datastage,Informatica,Kettle
- Cracked VMware Workstation 7.0
- 疯狂Java讲义(十三)----第二部分
- 怎么恢复佳能C300摄像机误删除或格式化的MXF视频