在列表框A中选中一项后,以该项值查询数据库,把结果放进列表框B中。
例如:
数据库C中有username和phone两字段
.....
<select name="a">
<option>未选择</option>
<%
.....
Connection con = DriverManager.getConnetion(url,user,password);
Statement smt = con.createStatement();
ResultSet rst = smt.executeQuery("select username from c group by username");
while(rst.next()) {
out.println("<option> + rst.getString("username") + "</option>");
}
.....
%>
</select>
<select name="b">
</select>
在列表框B中想显示select phone from c where username='A中选中的值'
例如:
数据库C中有username和phone两字段
.....
<select name="a">
<option>未选择</option>
<%
.....
Connection con = DriverManager.getConnetion(url,user,password);
Statement smt = con.createStatement();
ResultSet rst = smt.executeQuery("select username from c group by username");
while(rst.next()) {
out.println("<option> + rst.getString("username") + "</option>");
}
.....
%>
</select>
<select name="b">
</select>
在列表框B中想显示select phone from c where username='A中选中的值'
http://www.blogjava.net/rickhunter/category/11166.html
function onchange(select)
{
if(select.value!="")
{
location.href="a.jsp?select="+select.value;
}
}
</script><select name="a" onchange="onchange();">
<%
.....
Connection con = DriverManager.getConnetion(url,user,password);
Statement smt = con.createStatement();
ResultSet rst = smt.executeQuery("select username from c group by username");
while(rst.next()) {
out.println("<option> + rst.getString("username") + "</option>");
}
</select>
<select name="b">
<%
String select =request.getParamter("select");
if(select != null && !select.equals("")
{
rst = smt.executeQuery("select phone from c where username='"+select+"'");
while(rst.next()) {
out.println("<option> + rst.getString("username") + "</option>");
} }else{
out.println("<option>未选择</option>");
}
%>
</select>
Stack overflow at Line:138就是这行
<select name="a" onchange="onchange();">
把this放进去
<select name="a" onchange="onchange(this);">
但我将函数名onchange换成addphone,无错误提示,但没选择A后,B没变化。
那么这个服务器有什么特点呢?
1、不需要配置XML文件:以前我们 使用J2EE服务器时都时常需要配置XML文件,而kangaroo_web_egg则不需要,即使使用MVC结构时也是用动态页面进行逻辑控制。
2、完善的国际化支持:每个涉及到内容输出或读取的方法都重载了带有字符集的方法,这样就不需要再去编写麻烦的过滤器,只需要简单的提供当前所需要使用的字符集。
3、有条件的文件输出:BBS的web程序中经常会遇到这样一种情况,允许用户自行上传文件,而上传后的文件必须满足某些条件才能够被访问(读取、下载),这里所指的某些条件例如只有登录用户才能够访问,或者购买了BBS主题后才能访问等等。类似情况在其它web应用中也有很多,那该如何实现这种功能呢?以前我们都是自己写一个servlet进行有条件的文件输出,可是这样会很麻烦,如果要支持断点续传的需要那么自己还要写上一大段程序,要完全符合HTTP协议进行文件输出那么就更加困难了,而在kangaroo_web_egg只需要简单的使用内置方法即可。
4、command内置对象:kangaroo_web_egg有一个全新的内置对象command,用户可以通过此对象来查看或修改服务器当前信息,利用此对象还可以在不停服务器的情况修改服务器的某些设置,比如不中断服务的情况下软重启服务器。
5、生成静态页面:通 有些情况下,动态页面执行后的内容会长时间不变,但是访问的人却很多,如果生成静态页面那么就可以免去了执行动态文件和读取数据库的开销。kangaroo_web_egg内置了自动的生成静态页面的功能,只需要简单编程就可以自动生成静态页面了。
5、编译及隐藏源代码:kangaroo_web_egg可以关闭自动编译功能,只运行编译后的页面,同时提供了编译整个web应用及隐藏动态页面源代码的功能。
kangaroo_web_eggweb服务器的官方网站:kweb.go.3322.org