2、测试用的页面
<%--
File Name: TestCheckBoxLinks.jsp
Created by: IntelliJ IDEA.
Date: 2007-3-6 15:14:33
Readme: JSP、Java实现选择框连动,实现页面输入信息回填功能。
--%>
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="test.TestDBUitl" %>
<%
String rootPath = request.getContextPath();
String topage = rootPath + "/pages/test/TestCheckBoxLinks.jsp";
String province = request.getParameter("province");
String city = request.getParameter("city");
String stype = request.getParameter("stype");
String author = request.getParameter("author");
if (province == null || "null".equals(province)) province = "";
if (city == null || "null".equals(city)) city = "";
if (stype == null || "null".equals(stype)) stype = "";
if (author == null || "null".equals(author)) author = "熔 岩";
%>
<html>
<head>
<title>JSP、Java实现选择框连动,实现页面输入信息回填功能。</title>
</head>
<body>
<form method="post">
<table>
<tr>
<td>省 份:</td>
<td>
<select name="province" onchange="getallpames(this)">
<option value="" tourl="/zfvims/pages/test/TestCheckBoxLinks.jsp">不限制</option>
<%=TestDBUitl.getProvinceOptions(province, topage)%>
</select>
</td>
<td>城 市:</td>
<td>
<select name="city">
<option value="">不限制</option>
<%=TestDBUitl.getCityOptions(province, city)%>
</select>
</td>
</tr>
<tr>
<td>类 型:</td>
<td>
<select name="stype">
<option value="04">A</option>
<option value="07">B</option>
<option value="11">C</option>
<option value="13">D</option>
</select>
</td>
<script language="javascript">
var a = document.all.stype.options;
var n = a.length;
for (var i = 0; i < n; i++) {
var b = document.all.stype.options[i].value;
if (b == "<%=stype%>") {
document.all.stype.options[i].selected = true;
}
}
</script>
<td>作 者:</td>
<td>
<input type="text" name="author" value="<%=author%>" maxlength="20">
</td>
</tr>
</table>
<table>
<tr>
<td colspan="2"></td>
<td><input type="button" name="CX" value="查询"></td>
<td><input type="reset" value="重置"></td>
<td colspan="2"></td>
</tr>
</table>
</form>
</body>
</html>
<script type="text/javascript">
function getallpames(obj) {
var pames = "&province=" + document.all.province.value;
pames += "&city=" + document.all.city.value;
pames += "&stype=" + document.all.stype.value;
pames += "&author=" + document.all.author.value;
var tourl = obj.options[obj.selectedIndex].tourl + pames;
//alert(tourl); //打印转向地址的开关
window.location = tourl;
}
</script>
三、效果图预览
四、评价
这中做法适合有大量数据的情况下,即使数据很多,也不会很慢,但也在少量数据的情况下,速度和用户体验度上都不及JS的实现。现在的AJAX技术是个更好的选择,只是我还不会,呵呵。
这个例子在实际项目中应该慎用,因为需要考虑回填,校验等相关问题。
数据库脚本稍作修改就可以用到其他数据库中,后台方法也一样,主要差别在于注册驱动和驱动url上面。
相关专题
- Java环境安装配置 (5852篇文章)
- Jsp完全攻略专题 (1590篇文章)
- JSP教程专栏 (1590篇文章)
- Java编程开发手册 (8533篇文章)
- Java基础知识:初学者必须理解的六大问题 (76次浏览)
- 九个非常值得一看的MySpace程序 (72次浏览)
- Java基础知识:谈谈简单Hibernate入门 (58次浏览)
- struts验证框架开发详解 (48次浏览)
- 关于提高自己水平的十大技术 (47次浏览)
- Flex测试工具RIATest Beta版发布 (45次浏览)
- 100行Java代码构建一个线程池。 (40次浏览)
- JAVA基础知识:JAVA变量类型之间的相互转换 (33次浏览)
- 什么是面向接口编程 (29次浏览)
- 动态java代码的使用方法 (28次浏览)








