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);
}
%>