您现在的位置: 主页 > 上位机技术 > JAVA > JSP+AJAX三级级联及更多级的实现
本文所属标签:
为本文创立个标签吧:

JSP+AJAX三级级联及更多级的实现

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-22 

使用网上的一个例子,结合自已的实践,还没有做出来,先放在这里,慢慢的改进~~原来网页的链接没看到了~~

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>

<%

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

%>

级联菜单

<%

//连接到数据库,并且得到一个List,作为第一个select控件的数据源

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 college = new ArrayList();

try{

Class.forName(CLASSNANE);

} catch(java.lang.ClassNotFoundException e) {

e.printStackTrace();

}

try {

conn = DriverManager.getConnection(URL,USER,PASSWORD);

st=conn.createStatement();

String sql = "select sname from 表名";

rs=st.executeQuery(sql);

while (rs.next())

{

college.add(rs.getString(1));

}

rs.close();

st.close();

conn.close();

} catch (Exception e) {

e.printStackTrace();

}

%>

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("");

for(int i=0;i

{

out.println("" + major.get(i).toString() + "");

}

for(int i=0;i

{

out.println("" + classes.get(i).toString() + "");

}

out.println("");

out.flush();

%>

1.编码的问题,虽然页面上都是UTF-8,但是转过来的是GBK

用上一句

college = new String(college.getBytes("ISO-8859-1"),"GBK");

得以解决,但因为还没看AJAX,所以还搞不清楚,先实现吧

2.参数传值的问题。第一个下拉框选中之后,第二个下拉框出现内容,但是在第二个下拉框选中内容之后,

参数值传不过去,是传值的问题,还是其它 ,,还在研究中....晕~~



              查看评论 回复



嵌入式交流网主页 > 上位机技术 > JAVA > JSP+AJAX三级级联及更多级的实现
 问题 选择 下拉

"JSP+AJAX三级级联及更多级的实现"的相关文章

网站地图

围观()