2014-01-24 2 views
0

자동 완성을 수행하고 있습니다. 그것은 잘 작동합니다. 하지만 두 번째 JSP 파일을 .java 파일로 원했습니다. 난 최선을 다 했어. 나는 그것을 바꿀 수 없다. 나를 도와주세요. 주요 문제는 request.getparameter();.jsp 파일을 .java로 변경하려고합니다.

JSP 아약스 자동 완성 상자

autocomplete.jsp :

<%@page import="java.sql.*"%>  
<html>  
<head>  
<script type="text/javascript">  
function showData(value){  `` 

xmlHttp=GetXmlHttpObject() 
var url="auto.jsp"; 
url=url+"?name="+value; 
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true) 
xmlHttp.send(null) 
} 
function stateChanged() { 
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
var showdata = xmlHttp.responseText; 
document.getElementById("mydiv").innerHTML= showdata; 
} 
} 
function GetXmlHttpObject(){ 
var xmlHttp=null; 
try { 
xmlHttp=new XMLHttpRequest(); 
} 
catch (e) { 
try { 
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
} 
catch (e) { 
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
} 
return xmlHttp; 
} 
</script> 
</head> 
<body> 
<form name="employee"> 
<input type="text" name="name" id="name" onkeyup="showData(this.value);"><br> 
<div id="mydiv"></div> 

</table> 
</body> 
</html> 

auto.jsp (second jsp file) 

<%@ page import="java.sql.*" %> 
<% 

String name = request.getParameter("name").toString(); 
String buffer="<div>"; 
try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test",   "root", "root"); 
     Statement st=con.createStatement(); 
     ResultSet rs=st.executeQuery("select * from data where name like '"+name+"%'"); 
while(rs.next()) 
{ 
buffer=buffer+rs.getString("name")+"<br>"; 
} 
buffer=buffer+"</div>"; 
response.getWriter().println(buffer); 
} 
catch (Exception e) { 
System.out.println(e); 
} 
%> 

답변

0

내가 입력하는 동안 당신이 검색 응답에 대한 자바 파일을 원하는 생각합니다.

Servelet 파일을 작성하면됩니다.

/auto?name=value에 대한 servelt를 만들고 web.xml을 사용하여 매핑하십시오.

관련 문제