ajaxとJSPテクノロジーによるWebページのフォームのローカルリフレッシュ(ページ全体をリフレッシュせずにフォームデータのみをリフレッシュ)
4311 ワード
Web開発ではローカルリフレッシュの必要性がある場合があり,ページ全体のリフレッシュがネットワーク速度に制限されている場合を克服する利点がある.
1.MySQLデータテーブルは次のとおりです(簡単な例).
表名:stu_info
stuId int PK NN
stuName varchar(45) NN
stuDesc varchar(45)
2.新規wk.jsp、コードは以下の通りです.
3.新しいConn.jsp、コードは以下の通りです.
1.MySQLデータテーブルは次のとおりです(簡単な例).
表名:stu_info
stuId int PK NN
stuName varchar(45) NN
stuDesc varchar(45)
2.新規wk.jsp、コードは以下の通りです.
var XMLHttpReq;
// XMLHttpRequest
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
//
function sendRequest() {
createXMLHttpRequest();
var url = "ajax.jsp";
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = processResponse;//
XMLHttpReq.send(null); //
}
//
function processResponse() {
if (XMLHttpReq.readyState == 4) { //
if (XMLHttpReq.status == 200) { // ,
DisplayHot();
setTimeout("sendRequest()", 1000);
} else { //
window.alert(" 。");
}
}
}
function DisplayHot() {
var yan1 = XMLHttpReq.responseXML.getElementsByTagName("id");
var yan = XMLHttpReq.responseXML.getElementsByTagName("name");
var yan2 = XMLHttpReq.responseXML.getElementsByTagName("description");
var ta = "";
for(var i=0;i<yan.length;i++){
var id = yan1[i].firstChild.nodeValue;
var name = yan[i].firstChild.nodeValue;
var desc = yan2[i].firstChild.nodeValue;
ta+="<tr align=left><td><table><td width=100>"+id+"</td><td width=200>"+name+"</td><td width=200>"+desc+"</td></table></td></tr>";
// document.getElementById(res).innerHTML = name;
// res = res +i.toString();
}
document.getElementById("res").innerHTML = ta;
}
3.新しいConn.jsp、コードは以下の通りです.
4.新建ajax.jsp,代码如下:
"); out.println("
"); while(rs.next()){ String id=rs.getString("stuId"); int stuId = Integer.parseInt(id); String stuName=rs.getString("stuName"); String stuDesc=rs.getString("stuDesc"); System.out.println(stuId); //out.println(" "); out.close(); } catch(Exception e){ e.printStackTrace(); } %>"); out.println(" "); } out.println("" +stuId+ " "); out.println("" +stuName+ " "); out.println("" +stuDesc+ " "); //out.println("
5.上記3ページをプロジェクトの同じフォルダの下に置くwkを実行する.jspでフォームstu_が得られますinfoのデータ.
(PS:ここでは簡単な例ですが、スタイルなどは自分で追加して修正することができます.間違いがあればご指摘ください.)