请大家帮帮忙,我是菜鸟,急用! 谢谢!!!
解决方案 »
- 求工商银行网银接口demo
- 现在还有什么浏览器不支持frame?
- 求助。。。。怎么用Ajax返回List<Object>,在用Struts标签页面显示
- ant加载build.xml文件
- 急急急 在线!java 如果使用jxl包实现 隐藏行或列
- 请教一个问题~~~~~~~~
- 小妹的一个弱问题!刚从delphi转过来,很不适应!(问题在里面)我的qq:345731598 欢迎和我联系!
- 一百分求救:急!!!我在jsp中使用javaBean是遇到了奇怪的问题!
- 在同一个页面中如何进行获取提交的数据
- 装了weblogic6.0之后,启动默认服务器,输入了密码,可是打不开控制台,提示“该页无法显示”
- 如何去掉框架页的水平滚动条?
- TOMCAT 启动失败!
要求数据量不大,1次可以把全部纪录读如内存。
思路:用3唯数组存你的字段,上级ID,下级ID,需要显示的汉字
上级下拉里面就是正常的下拉,下级里面是个空的下拉。
上级下拉里面有个方法去你的数组里面查找上级ID相同的那些纪录,把那些填充进下级下拉里面。描述的不好,baidu有完整的例子。我以前也在csdn别人问的时候发过。
我原来发帖子问,别人的没调试好照着书 改改就ok了 祝你好运
源文件:dyList.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><head> <META http-equiv=Content-Type content="text/html; charset=UTF-8"></head><script language="javascript"> var XMLHttpReq; //创建XMLHttpRequest对象 function createXMLHttpRequest() { if(window.XMLHttpRequest) { //Mozilla 浏览器 XMLHttpReq = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE浏览器 try { XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } } //发送请求函数 function sendRequest(url) { createXMLHttpRequest(); XMLHttpReq.open("GET", url, true); XMLHttpReq.onreadystatechange = processResponse;//指定响应函数 XMLHttpReq.send(null); // 发送请求 } // 处理返回信息函数 function processResponse() { if (XMLHttpReq.readyState == 4) { // 判断对象状态 if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息 updateList(); } else { //页面不正常 window.alert("您所请求的页面有异常。"); } } } // 刷新列表框函数 function refreshList() { var sort = document.getElementById("sort").value; if(sort == "" ) { clearList(); return; } var url = "dyList?sort=" + sort; sendRequest(url) } // 更新列表框中列表项函数 function updateList() { clearList(); var product = document.getElementById("product"); var results = XMLHttpReq.responseXML.getElementsByTagName("name"); var option = null; for(var i = 0; i < results.length; i++) { option = document.createElement("option"); option.appendChild(document.createTextNode(results[i].firstChild. nodeValue)); product.appendChild(option); } } // 清除列表框中原有选项的函数 function clearList() { var product = document.getElementById("product"); while(product.childNodes.length > 0) { product.removeChild(product.childNodes[0]); } } </script> <table style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 cellPadding=2 width=200 bgColor=#f5efe7 border=0> <TR> <TD align=middle height=4 colspan="2"><IMG height=4 src="images/promo_list_top.gif" width="100%" border=0> </TD> </TR> <TR> <TD align=middle bgColor=#dbc2b0 height=19 colspan="2"><B>商品搜索</B> </TD> </TR> <tr> <td height="20"> 品牌选择: </td> <td height="20"> <select id="sort" onchange="refreshList();"> <option value="default">请选择</option> <option value="IBM">IBM</option> <option value="SONY">SONY</option> <option value="联想">联想</option> </select> </td> </tr> <tr> <td height="20"> 商品信息: </td> <td height="20"> <select id="product" > </select> </td> </tr> </table>在该页面中,第一个列表框中提供了对应的品牌选项以供用户进行选择,当用户选择了所需的品牌信息后,将调用“refreshList()”函数,在该函数中首先获取到所选列表项的标志信息,如果用户选择的是“请选择”,则调用“clearList()”函数清除第二个列表框中的内容,如果用户选择的是有效的品牌选项,则借助Ajax提交请求,并同时提交用户所选选项的标识信息到服务器端,等待服务器端的处理。当服务器端后续处理完成后,将返回第二个列表框中的信息,然后在Ajax提供的处理函数中在对应的列表框中显示,在显示时使用了本书第3章中介绍的使用DOM操作HTML的方式。该Web应用的配置文件web.xml对应的代码如下所示。从该配置文件中可以了解到,当浏览器端提交“dyList”请求时,将由服务器端的类名为“classmate.DyListAction”的Servlet程序进行处理。<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>ms1</servlet-name> <servlet-class>classmate.DyListAction</servlet-class> </servlet> <servlet-mapping> <servlet-name>ms1</servlet-name> <url-pattern>/dyList</url-pattern> </servlet-mapping> <!-- The Welcome File List --> <welcome-file-list> <welcome-file>dyList.jsp</welcome-file> </welcome-file-list></web-app>下面我们关注一下服务器端Servlet程序DyListAction.java中对应的程序代码。当接收到浏览器端提交的请求后,Servlet程序首先获取浏览器端提交的所选列表项的标志信息,即所选择的商品类别信息,然后借助封装了数据库操作的JavaBean完成数据库的查询工作,依据类别获取到对应的商品名称信息。package classmate; import java.io.IOException;…… public class DyListAction extends HttpServlet { public void init(ServletConfig config) throws ServletException { } /* * 处理<GET> 请求方法 */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置接收信息的字符集 request.setCharacterEncoding("UTF-8"); //接收浏览器端提交的信息 String sort = request.getParameter("sort"); //设置输出信息的格式及字符集 response.setContentType("text/xml; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); //创建输出流对象 PrintWriter out = response.getWriter(); //依据验证结果输出不同的数据信息 out.println("<response>"); //数据库操作 DB db = new DB(); ResultSet rs; String strSql=null; //查找该品牌具体型号 strSql ="select product.name,product.id from sort,product where sort.id=
product.sortid and sort.name='"+ sort + "'"; rs = db.executeQuery(strSql); try { while (rs.next()) { out.println("<name>" + rs.getString("name") + "</name>"); } } catch (SQLException e) { e.printStackTrace(); } out.println("</response>"); out.close(); }}注意在本例中,返回的XML文档的格式如下所示:<response> <name>商品名称1</ name> <name>商品名称2</name></response>
不过只能用JSP,不用XML和.JAVA类
哪位大侠能帮帮忙啊