json servlet通信 显示数据

servlet

 1 //输出JSON格式的省份信息
 2 @WebServlet("/ServletDemo1")
 3 public class ServletDemo1 extends HttpServlet {
 4     private static final long serialVersionUID = 1L;
 5        
 6    
 7     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 8         response.setContentType("text/html;charset=UTF-8");
 9         PrintWriter out = response.getWriter();
10         String str = "{name:'山东省'}";
11         out.write(str);
12     }

json   jsp中应用

eval函数用于转换成 json的文本 来让以后代码使用
 1 <%@ page language="java"  pageEncoding="utf-8"%>
 2 
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5     <head>
 6         <title>级联菜单</title>
 7         <script type="text/javascript" src="./xmFile.js"> </script>
 8     </head>
 9     <body>
10      <select id="province" name="province">
11        <option value="">请选择....</option>
12      </select>
13      <select id="city" name="city">
14          <option value="">请选择.....</option>
15      </select>
16      <script type="text/javascript">
17          window.onload=function(){
18              var xhr = createXmlHttpRequest();
19              xhr.onreadystatechange=function(){
20                  if(xhr.readyState==4){
21                      if(xhr.status==200||xhr.status==304){
22                          var data = xhr.responseText;//JSON数据,服务端是普通字符串返回的
23                          var provinceJson = eval("("+data+")");//把普通的JSON字符串文本变成真正的JSON数据
24                          
25                          var optionElement = document.createElement("option");
26                          optionElement.setAttribute("value",provinceJson.name);
27                          var textNode = document.createTextNode(provinceJson.name);
28                          optionElement.appendChild(textNode);
29                          
30                          document.getElementById("province").appendChild(optionElement);
31                          
32                      }
33                  }
34              }
35              xhr.open("GET","${pageContext.request.contextPath}/ServletDemo1?time="+new Date().getTime());
36              xhr.send(null);
37          }
38          function createXmlHttpRequest(){
39                var xmlHttp;
40                try{    //Firefox, Opera 8.0+, Safari
41                        xmlHttp=new XMLHttpRequest();
42                 }catch (e){
43                        try{    //Internet Explorer
44                               xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
45                         }catch (e){
46                               try{
47                                       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
48                               }catch (e){}  
49                        }
50                 }
51                return xmlHttp;
52              }
53      </script>
54   </body>
55 </html>

 

posted on 2014-05-31 13:34  wf110  阅读(660)  评论(0编辑  收藏  举报