• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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(;ilistIds.length;++i){
    //alert("show:"+i+"id=:"+listIds[i]);
    showView(listIds[i],i);//播放
    }
    for(var j=listIds.length;j9;++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();
    HashtableLong, Long> hashTable = videoHashTable.getRht();
    Map map = new HashMapString, ListLong>>();
    if (videoHashTable.isUpdateFlag() == true) {
    Enumeration en = hashTable.keys();
    videoIds = new ArrayListLong>();
    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();
    }
    }
    您可能感兴趣的文章:
    • Struts2.5 利用Ajax将json数据传值到JSP的实例
    • jquery利用json实现页面之间传值的实例解析
    • struts2中通过json传值解决乱码问题的实现方法
    • json传值以及ajax接收详解
    • json实现前后台的相互传值详解
    • jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
    • Json实现传值到后台代码实例
    上一篇:Ajax $.getJSON案例详解
    下一篇:ajax struts2 下拉框赋值(适合所有)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ajax的json传值方式在jsp页面中的应用 ajax,的,json,传值,方式,在,