我从网上找的、一个用 javascript实现的三级联动的程序,其中连数据库部分被封装了,没有给提供,如果是我引用jsp中的连数据库程序,在javascript中的rs.getString所取内容遇到了无法转换编码的中文问题,哪位高手帮我写下system.pub.oraclesql myDao = new system.pub.oraclesql();用到的system.pub包,并且他应该放在什么位置呢?或者是帮我把关于数据库的rs.getString写在javascript外边,这样就可以转换编码了:
代码如下:
<script language="javascript">
var DeparmentCount; //三级联动菜单代码
DeparmentCount = 0;
var DivisionCount;
DivisionCount = 0;
var SpecialityCount;
SpecialityCount = 0
Department = new Array();
Division = new Array();
Speciality = new Array();
<% system.pub.oraclesql myDao = new system.pub.oraclesql();
ResultSet rs = myDao.execQuery("select * from division");
int i=0;
for(rs.next();!rs.isAfterLast();rs.next(),i++){%>
Division[<%=i%>] = new Array("<%=rs.getString("Division_name")%>","<%=rs.getString("department_id")%>");
<% }%>
DivisionCount = <%=i%>;<%
System.out.println("debug....1");
rs = myDao.execQuery("select * from speciality");
i=0;
for(rs.next();!rs.isAfterLast();rs.next(),i++){%>
Speciality[<%=i%>] = new Array("<%=rs.getString("Speciality_name")%>","<%=rs.getString("division_id")%>");<% }%>
SpecialityCount = <%=i%>;
function changeDepartment(DepartmentId){
document.form1.Switch.value="false";
document.form1.division.length = 0;
var DepartmentId = DepartmentId;
var i;
for (i=0;i < DivisionCount; i++){
if (Division[i][1] == DepartmentId){
document.form1.division.options[document.form1.division.length] = new Option(Division[i][0], Division[i][0]);
}
}
changeDivision(document.form1.division.value);
}function changeDivision(DivisionId){
document.form1.Switch.value="false";
document.form1.speciality.length = 0;
var DivisionId = DivisionId;
var i;
for (i=0;i < SpecialityCount; i++){
if (Speciality[i][1] == DivisionId){
document.form1.speciality.options[document.form1.speciality.length] = new Option(Speciality[i][0], Speciality[i][0]);
}
}
if(document.form1.speciality.length!=0){
document.form1.speciality.style.visibility = 'visible';
}
else{
document.form1.speciality.style.visibility = 'hidden';
}
}function initialSelect(){
changeDepartment(document.form1.department.options[document.form1.department.selectedIndex].value);
}
</script>
代码如下:
<script language="javascript">
var DeparmentCount; //三级联动菜单代码
DeparmentCount = 0;
var DivisionCount;
DivisionCount = 0;
var SpecialityCount;
SpecialityCount = 0
Department = new Array();
Division = new Array();
Speciality = new Array();
<% system.pub.oraclesql myDao = new system.pub.oraclesql();
ResultSet rs = myDao.execQuery("select * from division");
int i=0;
for(rs.next();!rs.isAfterLast();rs.next(),i++){%>
Division[<%=i%>] = new Array("<%=rs.getString("Division_name")%>","<%=rs.getString("department_id")%>");
<% }%>
DivisionCount = <%=i%>;<%
System.out.println("debug....1");
rs = myDao.execQuery("select * from speciality");
i=0;
for(rs.next();!rs.isAfterLast();rs.next(),i++){%>
Speciality[<%=i%>] = new Array("<%=rs.getString("Speciality_name")%>","<%=rs.getString("division_id")%>");<% }%>
SpecialityCount = <%=i%>;
function changeDepartment(DepartmentId){
document.form1.Switch.value="false";
document.form1.division.length = 0;
var DepartmentId = DepartmentId;
var i;
for (i=0;i < DivisionCount; i++){
if (Division[i][1] == DepartmentId){
document.form1.division.options[document.form1.division.length] = new Option(Division[i][0], Division[i][0]);
}
}
changeDivision(document.form1.division.value);
}function changeDivision(DivisionId){
document.form1.Switch.value="false";
document.form1.speciality.length = 0;
var DivisionId = DivisionId;
var i;
for (i=0;i < SpecialityCount; i++){
if (Speciality[i][1] == DivisionId){
document.form1.speciality.options[document.form1.speciality.length] = new Option(Speciality[i][0], Speciality[i][0]);
}
}
if(document.form1.speciality.length!=0){
document.form1.speciality.style.visibility = 'visible';
}
else{
document.form1.speciality.style.visibility = 'hidden';
}
}function initialSelect(){
changeDepartment(document.form1.department.options[document.form1.department.selectedIndex].value);
}
</script>
我想把数据库语句写在javascript外面,看这样改哪错了,这是主要部分代码
ResultSet rs = stmt.executeQuery("select distinct * from division");
ResultSet rs1 = stmt1.executeQuery("select distinct * from speciality");
//String sql = "select * from wupinbiao where leixing='"+leixing+"' and tiaoma='"+tiaoma+"' and xinghao='"+xinghao+"' ";
%>
<%
request.setCharacterEncoding("gb2312");
while( rs.next()){
String Division_name=IsoConvertGc(rs.getString("Division_name"));
String department_id=IsoConvertGc(rs.getString("department_id"));
}%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
var DeparmentCount; //三级联动菜单代码
DeparmentCount = 0;
var DivisionCount;
DivisionCount = 0;
var SpecialityCount;
SpecialityCount = 0
Department = new Array();
Division = new Array();
Speciality = new Array();
<%
for (int i=0;i<7;i++){
Division[<%=i%>] = new Array("+Division_name","+department_id");
}
DivisionCount = <%=i%>;