Jsp数据库二级联动原理利用AJAX访问servlet来完成

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库二级联动构思:利用AJAX访问servlet来完成

* 第一、父级列表由页面初始完成

* 并加上onchange="javascript:getData(this.value)"事件

* 注意:getData(obj)为AJAX访问servlet函数,具体见代码jslib/linkage.js

* 第二、在servlet中返回数据时,要求采用XML,如:

Java代码

复制代码

1.

2.String id = request.getParameter("id");

3. String str = "";

4. str = str + "";

5. String name = "";

6. if (id.trim().equals("1")){

7. name = "项目A";

8. } else if (id.trim().equals("2")){

9. name = "项目B";

10. }else if (id.trim().equals("3")){

11. name = "项目C";

12. }

13. for (int i = 0; i < 10; i++) {

14. //数据可以从数据库中读取

15. str = str + "

+ "\"/>";

16. }

17. str = str + "";

18. out.println(str);

19.

* 第三、在获取服务器返回有数据时,利用DOM重新设置子列表的所有内容

Javascript代码

复制代码

1.var messageNode = domObj.selectNodes("/Results");

2. var spanNode = document.getElementById("data");//用于存入列表的

span元素

3. var strText = ""

19. //alert(strText);

20. // alert("源内容:" + spanNode.innerHTML);

21. spanNode.innerHTML = strText;

注:也可以加入事件onchange=\"javascript:show(this),以响应联动出来的列表,可以处理用户的鼠标事件

复制代码

1.//这个方法将使用XMLHTTPRequest对象来进行AJA

X的异步数据交互

2.var xmlhttp;

3.function getDataById(id) {

4.// alert("进入AJAX调用函数中");

5. //1、使用dom的方式获取文本框中的值

6. // document.getElementById("userName")是dom中获

取元素节点的一种方法,

7. //一个元素节点对应HTML页面中的一个标签

ut>

8. // .value可以获取一个元素节点的value属性值

9.// var userName = document.getElementById("userNa

me").value;

10.

11.

12. //2.创建XMLHTTPRquest对象

13. //这是XMLHTTPRquest对象五步使用中最复杂的一

14. //需要针对IE和其它类的浏览器建立这个对象的不

同方式写不同的代码

15.

16. if (window.XMLHttpRequest) {

17. //针对FireFox, Mozillar, Opera, Safari, IE7, IE8

18. xmlhttp = new XMLHttpRequest();

19. //针对某些特定版本的mozillar浏览器的BUG进

行修正

20. if (xmlhttp.overrideMimeType) {

21. xmlhttp.overrideMimeType("text/xml");

22. }

23. } else if (window.ActiveXObject) {

24. //针对IE6,IE5.5, IE5

25. //两个可以用于创建XMLHTTPRequest对象的控

件名称,保存在一个js的数组趾

26. //用前面的版本较新

27. var activexName = ["MSXML2.XMLHTTP", "Mi

crosoft.XMLHTTP"];

28. for (var i = 0; i < activexName.length; i++) {

29. try {

30.//取出一个控件名称进行创建,如果创建成功

就终止循环

31.//如果创建失败,会抛出异常,然后可以继续

循环,继续尝试创建

32.xmlhttp = new ActiveXObject(activexName

[i]);

33. } catch (e) {

34. }

35. }

36. }

37.

38. //确认XMLHTTPRequest对象创建成功

相关文档
最新文档