sere

在后台servlet中,若需要将json传至前台,可以将json字符串通过request的setAttribute方法进行传值,通过转发交接给JSP页面(其实,在tomcat等容器中,除了转换和编译阶段,servlet跟JSP区别也不是太大),测试代码如下:

1         request.setAttribute("jsonstr", respMessage);
2         request.getRequestDispatcher("/WEB-INF/jsp/showPhotos.jsp").forward(request, response);

然后,在JSP中需要将其读取出来,在JavaScript中,读取方法如下:

 1  <script type="text/javascript">
 2  //{"currentUser":"zhang","success":"true","photoList":[{"id":"4545","createUser":"sere","modifyUser":"zhang","dr":"0"}]}
 3         
 4  //上面的是我后台传过去的json,下面是JavaScript的解析方法
 5      var jsonstr = \'<%=request.getAttribute("jsonstr")%>\';
 6      var obj = eval(\'(\' + jsonstr + \')\');
 7      //json中的属性
 8     alert(obj.success);
 9            
10     //json中的list
11     alert(obj.photoList[0].id);
12  </script>

 使用这个方法的话,需要注意:request是jsp中的内置对象,若js是单独文件,可能会出现取值为null的情况,可以在jsp中设置一个隐藏域,然后通过getElemetById之类的方法调用其中的value值

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-13
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-17
  • 2022-12-23
  • 2021-04-16
  • 2021-09-06
  • 2021-07-28
  • 2022-12-23
相关资源
相似解决方案