如何在不使用ajax刷新页面的情况下显示从数据库到jsp的值
发布时间:2020-12-16 02:53:36 所属栏目:百科 来源:网络整理
导读:我是阿贾克斯新鲜的 阿贾克斯 function ajaxFunction() { if(xmlhttp) { var txtname = document.getElementById("txtname"); xmlhttp.open("POST","Namelist",true); xmlhttp.onreadystatechange = handleServerResponse; xmlhttp.setRequestHeader('Conten
我是阿贾克斯新鲜的
阿贾克斯 function ajaxFunction() { if(xmlhttp) { var txtname = document.getElementById("txtname"); xmlhttp.open("POST","Namelist",true); xmlhttp.onreadystatechange = handleServerResponse; xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xmlhttp.send("txtname=" + txtname.value); } } function handleServerResponse() { if (xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { document.getElementById("message").innerHTML=xmlhttp.responseText; } else { alert("Error during AJAX call. Please try again"); } } } JSP <form name="fname" action="Namellist" method="post"> Select Category : <select name="txtname" id="txtname"> <option value="Hindu">Hindu</option> <option value="Muslim">Muslim</option> <option value="Christian">Christian</option> </select> <input type="button" value="Show" id="sh" onclick="ajaxFunction();"> <div id="message">here i want to display name</div><div id="message1">here i want to display meaning</div> </form> 的servlet String ct=null; ct=request.getParameter("txtname"); Connection con=null; ResultSet rs=null; Statement st=null; try{ con=Dbconnection.getConnection(); PreparedStatement ps=con.prepareStatement("select name meaning from (select * from namelist order by dbms_random.value)where rownum<=20 and category='+ct+'" ); rs=ps.executeQuery(); out.println("name" + rs); **Here I have confusion,** } catch(Exception e) { System.out.println(e); } 我怎样才能将servlet值显示给jsp. 解决方法
您必须进行以下更改: –
在Servlet中: – 将响应内容类型设置为: – response.setContentType(“text / xml”);在servlet的顶部.通过设置它,我们可以以XML格式发送响应,并在JSP上检索它时,我们将根据XML的标记名称获取它. 在servlet中执行你想要的任何操作…… String uname="; uname="hello"; //some operation //create one XML string String sendThis="<?xml version='1.0'?>" +"<Maintag>" +"<Subtag>" +"<unameVal>"+uname+"</unameVal>" +"</Subtag>" +"</Maintag>" out.print(sendThis); 现在我们将转到我们要显示数据的JSP页面. function getXMLObject() //XML OBJECT { var xmlHttp = false; try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP") // For Old Microsoft Browsers } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") // For Microsoft IE 6.0+ } catch (e2) { xmlHttp = false // No Browser accepts the XMLHTTP Object then false } } if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); //For Mozilla,Opera Browsers } return xmlHttp; // Mandatory Statement returning the ajax object created } var xmlhttp = new getXMLObject(); //xmlhttp holds the ajax object function ajaxFunction() { if(xmlhttp) { xmlhttp.open("GET","NameList",true); //NameList will be the servlet name xmlhttp.onreadystatechange = handleServerResponse; xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xmlhttp.send(null); } } function handleServerResponse() { if (xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { getVal(); } else { alert("Error during AJAX call. Please try again"); } } } function getVal() { var xmlResp=xmlhttp.responseText; try{ if(xmlResp.search("Maintag")>0 ) { var x=xmlhttp.responseXML.documentElement.getElementsByTagName("Subtag"); var xx=x[0].getElementsByTagName("unameVal"); var recievedUname=xx[0].firstChild.nodeValue; document.getElementById("message").innerText=recievedUname;//here } }catch(err2){ alert("Error in getting data"+err2); } } 在这里你完成了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读