开发者社区> 问答> 正文

java后台用的输出流怎么在前台用js怎么接收

java后台的输出流。输出的信息。后台输出信息不包含页面地址。怎么在前台页面用js完成接收信息。

展开
收起
蛮大人123 2016-03-23 15:46:03 3136 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    给你个例子。
    后台Java代码:

         @RequestMapping(value = "/friendLinks/friendLinksList.do")
        public void getfriendLinksList(HttpServletRequest request,
                HttpServletResponse response, ModelMap modelMap){
    
            response.setCharacterEncoding("UTF-8");
            String pageNoStr = request.getParameter("pageNo");
            Integer pageNo = 0;
    
            try {
                pageNo = Integer.valueOf(pageNoStr);
            } catch (Exception e) {
                pageNo = 0;
            }
            Page page = new Page();
            page.setPageNo(pageNo);
    
            //按分页条件查询用户
            List<FriendLinks> linksList = null;
            try {
                linksList = friendLinksService.getFriendLinksList(page);
                //将查出来的友情链接和分页信息放到json字符串中
                JSONArray jsonList = new JSONArray();
                JSONObject bj = JSONObject.fromObject(page);
                jsonList.add(bj);
                for (FriendLinks links : linksList) {
                    JSONObject obj = JSONObject.fromObject(links);
                    jsonList.add(obj);
                }
                response.getWriter().println(jsonList.toString());
                response.getWriter().flush();
                response.getWriter().close();
            } catch (Exception e) {
    
                e.printStackTrace();
            }
            return ;
        }

    JS中代码:

         function fillData(pageNo) {
        if (pageNo == "") {
            pageNo = thisPageNo;
        }
        var stateValue = $("#stateValue").val();
        var titleValue = $("#titleValue").val();
        $.ajax({
                url:contextPath + "/friendLinks/friendLinksList.do", 
                type:"POST",
                data:{
                      pageNo:pageNo,
                      stateValue:stateValue,
                      titleValue:titleValue
                     }, 
                dataType:"json", 
                beforeSend:function () {
                $("#pageTd a").remove();
        }, success:function (data) {
                var page = data[0];
                if (page.count == 0) {
                    var noDataMsg = "<tr><td colspan=\"9\" class=\"xiamian\">无相关数据</td></tr>";
                    $("#dataBody").html(noDataMsg);
                    var pageMsg = "总记录数:<strong>0</strong>"+
                                  "&nbsp;&nbsp;当前页:<strong>0/0</strong>&nbsp;&nbsp;"+
                                  "<a href='javascript:;'>首页</a>&nbsp;"+
                                  "<a href='javascript:;'>上一页</a>&nbsp;"+
                                  "<a href='javascript:;'>下一页</a>&nbsp;"+
                                  "<a href='javascript:;'>尾页</a>&nbsp;";
                                  $("#pageButtonBefore").html(pageMsg);
                } else {
                    var dataMsg = "";
                    var caozuo = "";
                    var useOrNot = "";
                    for (var i = 1; i < data.length; i++) {
                        caozuo = "";
                        caozuo = caozuo + "<a href='javascript:;' onclick='checkJump(\""+data[i].id+"\")'>查看</a>";
                        caozuo = caozuo + "<a href='javascript:;' onclick='editJump(\""+data[i].id+"\")'>修改</a>";
                        caozuo = caozuo + "<a href='javascript:;' onclick='deleteJump(\""+data[i].id+"\")'>删除</a>";
                        if(data[i].status == "0"){
    
                            status = "是";
                        }else{
                            status = "否";
                        }
                        dataMsg = dataMsg + "<tr><td>" + i + 
                                            "</td><td>" + data[i].linkName + 
                                            "</td><td>" + data[i].linkSite + 
                                            "</td><td>" + status + "</td><td>"; 
                        dataMsg = dataMsg + caozuo;                 
                        dataMsg = dataMsg + "</td></tr>";
                    }
                    $("#dataBody").html(dataMsg);
    
                    var pageMsg = "总记录数:<strong>"+page.count+"</strong>&nbsp;&nbsp;当前页:<strong>"+page.pageNo+"/"+page.totalPage+"</strong>&nbsp;&nbsp;"+
                                  "<a href='javascript:fillData(\"1\");'>首页</a>&nbsp;&nbsp;"+
                                  "<a href=javascript:fillData(\"" + page.pre + "\");>上一页</a>&nbsp;&nbsp;"+
                                  "<a href=javascript:fillData(\"" + page.next + "\");>下一页</a>&nbsp;&nbsp;"+
                                  "<a href=javascript:fillData(\"" + page.totalPage + "\");>尾页</a>&nbsp;&nbsp;";
                    $("#pageButtonBefore").html(pageMsg);
                }
        }, error:function () {
              alert("获取相关数据失败!");
        }});
        }

    其实能看出来,JS怎么接收值跟后台用什么方式传没有多大关系,关键是看传过来的值格式是啥就好了。
    传回来的是字符串,那就直接按照字符串处理,传回来的是Json格式的那就直接按照解析Json来处理。

    2019-07-17 19:11:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载