首页 > 开发 > Java > 正文

jsp实现将信息放入xml中的方法

2024-07-13 09:56:14
字体:
来源:转载
供稿:网友

这篇文章主要介绍了jsp实现将信息放入xml中的方法,涉及jsp调用servlet与ajax实现存储xml数据的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了jsp实现将信息放入xml中的方法。分享给大家供大家参考,具体如下:

一、jsp代码:

 

 
  1. 省: <select id="province" name="province" onchange="jsSubmit()">  
  2. <option value="北京" selected="selected">北京</option>  
  3. <option value="广东">广东</option>  
  4. <option value="海南">海南</option>  
  5. </select>  
  6. 市: <select id="city" name="city">  
  7. <option value="北京">北京</option>  
  8. </select> 

二、ajax代码创建服务器请求代码不用写了,写onchange时候的事件jsSubmit吧:

 

  1. function jsSubmit() {  
  2. createXMLHttpRequest();  
  3. var province = document.getElementById("province");  
  4. //解决客户端向服务器端传输中文乱码  
  5. var uri = "AjaxAction?value=" + encodeURI(encodeURI(province.value));  
  6. xmlHttp.open("POST", uri, true);  
  7. xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;")  
  8. xmlHttp.onreadystatechange = processResponse;//回调函数啊!  
  9. xmlHttp.send(null);  

三、servlet

 

 
  1. public class AjaxAction extends HttpServlet {  
  2. private static final long serialVersionUID = 1L;  
  3. private static Map<String, String[]> map = new HashMap<String, String[]>();  
  4. static {  
  5. String[] cities1 = { "海口""琼海""三亚" };  
  6. String[] cities2 = { "广州""珠海""佛山""深圳" };  
  7. String[] cities3 = { "北京" };  
  8. map.put("北京", cities3);  
  9. map.put("广东", cities2);  
  10. map.put("海南", cities1);  
  11. }  
  12. st方法{  
  13. String province = request.getParameter("value");// 解决客户端向服务器端传输中文乱码  
  14. String proviceCN = URLDecoder.decode(province, "UTF-8");  
  15. String[] cities = map.get(proviceCN);//根据传来的省,查出已经存放进map中对应的市  
  16. response.setContentType("text/xml; charset=UTF-8");  
  17. StringBuffer buff=new StringBuffer("<citylist>");///准备拼字符串......  
  18. for (String city : cities)  
  19. {  
  20. buff.append("<city>").append(city) .append("</city>");  
  21. }  
  22. buff.append("</citylist>");  
  23. response.getWriter().println(buff.toString()); 

四、ajax的回调函数

 

 
  1. function processResponse() {  
  2. if(xmlHttp.readyState == 4) {  
  3. if(xmlHttp.status == 200) {  
  4. var cities = xmlHttp.responseXML.getElementsByTagName("city");  
  5. var displaySelect = document.getElementById("city");  
  6. displaySelect.innerHTML = null;  
  7. for (var i= 0 ;i < cities.length ; i++){  
  8. if (i == 0) {  
  9. var a= xmlHttp.responseXML.getElementsByTagName("city")[i].firstChild.data;//用firstChild方法,其他方法我用text方法不管用~不知道怎么回事  
  10. var op = new Option(a, a, truetrue);  
  11. else {  
  12. var a= xmlHttp.responseXML.getElementsByTagName("city")[i].firstChild.data;  
  13. var op = new Option(a, a);  
  14. alert(a);  
  15. }  
  16. displaySelect.options[i] = op;  
  17. }  
  18. else {  
  19. window.alert("请求的页面有异常");  
  20. }  
  21. }  

希望本文所述对大家jsp程序设计有所帮助。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表