J+AJAX 三级级联及更多级的实现(2)_JSP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

J+AJAX 三级级联及更多级的实现(2)

作者:黑客防线网安JSP教程基地 来源:黑客防线网安JSP教程基地 浏览次数:0

本篇关键词:实现更多三级String
黑客防线网安网讯:  } %> </select> <select name="list1" onchange="showList2(this.options[this.options.selectedIndex].value)" style="width:150px"> <option name="">---请选择---</option> </select...

  }
%>
</select>
<select name="list1" onchange="showList2(this.options[this.options.selectedIndex].value)" style="width:150px">
<option name="">---请选择---</option>
</select>
<select name="list2" onchange="if(this.selectedIndex)alert(this.options[this.options.selectedIndex].value)" style="width:150px">
<option name="">---请选择---</option>
</select>
</body>
</html>


第二个页面用来接受请求:
menujsp.jsp

 

<%@ page contentType="text/html; charset=UTF-8" import="java.util.*,java.sql.*" %>
<%
String college=request.getParameter("college");
String classname = request.getParameter("classname");
college = new String(college.getBytes("ISO-8859-1"),"GBK");
System.out.println("学院"+college);


String CLASSNANE = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String URL = "jdbc:microsoft:sqlserver://localhost:1433;databasename=数据库名";
String USER = "sa";
String PASSWORD = "";


Connection conn = null;
Statement st = null;
ResultSet rs = null;
List major = new ArrayList();
List classes = new ArrayList();

try{
Class.forName(CLASSNANE);
} catch(java.lang.ClassNotFoundException e) {
e.printStackTrace();
}

try {
conn = DriverManager.getConnection(URL,USER,PASSWORD);
st=conn.createStatement();
if(college != null)
{
String sql = "select mname from tb_major m inner join (select * from tb_school where sname='"
+ college + "')" + " e on m.msid=e.sid";
System.out.println(sql);
rs=st.executeQuery(sql);
while (rs.next())
{
major.add(rs.getString(1));
}
}
if(classname != null)
{
//这里做的是一个内联接查询
String sql2 = "select mname from tb_major m inner join (select * from tb_school where sname='"
+ classname + "')" + " e on m.msid=e.sid";
System.out.println(sql2);

rs=st.executeQuery(sql2);
while (rs.next())
{
classes.add(rs.getString(1));
}
}
rs.close();
st.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
out.println("<response>");
for(int i=0;i<major.size();i++)
{
out.println("<major>" + major.get(i).toString() + "</major>");
}
for(int i=0;i<classes.size();i++)
{
out.println("<classname>" + classes.get(i).toString() + "</classname>");
}
out.println("</response>");
out.flush();
%>

从网上参考时遇到的问题:
1.编码的问题虽然页面上都是UTF-8,但是转过来的是GBK
用上一句
college = new String(college.getBytes("ISO-8859-1"),"GBK");
得以解决,但因为还没看AJAX,所以还搞不清楚,先实现吧
2.参数传值的问题第一个下拉框选中之后,第二个下拉框出现内容,但是在第二个下拉框选中内容之后,
参数值传不过去,是传值的问题,还是其它 ,,还在研究中....晕~~

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-16759-1.html
网站维护教程更新时间:2012-04-07 00:46:44  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer