Menerapkan tautan drop-down box sekunder di halaman jsp dan membaca data database secara real time. Cara ini sangat praktis dan hanya perlu dimodifikasi sedikit saja untuk menggunakannya. File yang dirancang, serch.jsp, main.js, bytetostr.js,
mari kita bahas main.js terlebih dahulu, yaitu javascript, dan perhatikan modifikasi nama halaman jsp.
fungsi findObject(fName,initValue)...{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","searchmx.jsp?findObject="+fName+"&initValue="+initValue,false);//Perhatikan untuk memodifikasi halaman jsp
xmlhttp.kirim();
document.getElementById(fName).innerHTML=bytes2BSTR(xmlhttp.responsebody); //fungsi bytes2BSTR ada di bytetostr.js
}
Yang kedua adalah bytetostr.js, yaitu vbscript. Ini tidak perlu mengubah konten apa pun.
Fungsi byte2BSTR(vIn)
redup
strKembali = ""
Untuk i = 1 Ke LenB(vIn)
KodeKar ini = AscB(MidB(vIn,i,1))
Jika ThisCharCode < &H80 Lalu
strReturn = strReturn & Chr(KodeCharIni)
Kalau tidak
KodeChar Berikutnya = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
saya = saya + 1
Akhiri Jika
Berikutnya
bytes2BSTR = strKembali
Fungsi Akhir
Berikutnya adalah halaman serch.jsp, Anda hanya perlu memodifikasi id di div menjadi nama yang Anda inginkan, lalu mengubah paket awal, cukup ubah pernyataan sqlnya .
<%@ halaman contentType="teks/html; charset=gb2312" bahasa="java" import="com.sjth.zdsygl.vo.*,com.sjth.zdsygl.biz.*,java.util.*,com .sjth.zdsygl.jdbc.*,java.sql.ResultSet"%>//Impor paket yang sesuai
<%
//Bagian kode ini digunakan untuk menanyakan database dan mengembalikan string
if (request.getParameter("findObject")!=null)...{
if (request.getParameter("findObject").equals("hy_dm"))...{
Sambungan DBConnect = null;
HasilSet rs = null;
mencoba...{
out.print("
String sql = "pilih * dari grup dm_hy di sebelah kiri(hy_dm,7)";
samb = DBConnect baru();
samb.setPstmt(sql);
rs = samb.executeQuery(sql);
while(rs.next())...{
out.print("");
}
keluar.print("");
}
menangkap (Pengecualian e)...{
}
Akhirnya...{
mencoba...{
jika (rs != nol)
rs.close();
jika (sambungan != nol)
samb.close();
}
menangkap (Pengecualian e)...{
e.printStackTrace();
}
}
}
if (request.getParameter("findObject").equals("hymx_dm"))...{
Sambungan DBConnect = null;
HasilSet rs = null;
mencoba...{
out.print("
String sql = nol;
if (request.getParameter("initValue").sama dengan(""))...{
sql = "pilih * dari dm_hy";
}
kalau tidak...{
sql = "pilih * dari dm_hy di mana hy_dm suka '"+request.getParameter("initValue")+"%'";
}
samb = DBConnect baru();
samb.setPstmt(sql);
rs = samb.executeQuery(sql);
while(rs.next())...{
out.print("");
}
keluar.print("");
}
menangkap (Pengecualian e)...{
}
Akhirnya...{
mencoba...{
jika (rs != nol)
rs.close();
jika (sambungan != nol)
samb.close();
}
menangkap (Pengecualian e)...{
e.printStackTrace();
}
}
}
kembali;
}
%>
//Impor dua file js
//Digunakan untuk menampilkan string yang dikembalikan
//Digunakan untuk menampilkan string yang dikembalikan
findObject("hy_dm","");
findObject("hymx_dm","");//Kedua item ini adalah panggilan eksekusi halaman
Semua orang dipersilakan untuk berdiskusi