ajax的二级联动菜单

package com.pynon.crawler;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.pynon.base.util.MysqlConnections;

public class subtype extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");

		response.setContentType("text/xml");

		response.setHeader("Cache-Control", "no-cache");
		PrintWriter out = response.getWriter();
		
		String supertype = request.getParameter("supertype");
		//System.out.println(supertype);

		List list = new ArrayList();
		if (!supertype.equals("0")) {
			Connection conn;
			try {
				conn = MysqlConnections.getConnection();
				if (conn != null) {
					Statement stmt = null;
					ResultSet rs = null;
					try {

						stmt = conn.createStatement();
						String sql = "select id,classtype  from dt_talknet where typename='"
								+ supertype + "';";
						//System.out.println(sql);
						rs = stmt.executeQuery(sql);

						while (rs.next()) {
							Map map = new HashMap();
							map.put("id", rs.getInt(1));
							map.put("classtype", rs.getString(2));
							list.add(map);
							// System.out.println(rs.getInt(1) + "  " +
							// rs.getString(2));
						}

					} catch (SQLException e) {
						MysqlConnections.freeConnection(conn);
						e.printStackTrace();
					} finally {
						try {
							if (rs != null) {
								rs.close();
								rs = null;
							}
							if (stmt != null) {
								stmt.close();
								stmt = null;
							}
						} catch (SQLException e1) {
							e1.getMessage();
						}
					}
				}
			} catch (Exception e) {
				e.printStackTrace();
			}

			if (list.size() > 0) {
				out.print("<response>");
				for (int i = 0; i < list.size(); i++) {
					Map map = (Map) list.get(i);
					out.print("<subtypeids>" + map.get("id") + "</subtypeids>");
					out.print("<subtypenames>" + map.get("classtype")
							+ "</subtypenames>");
				}
				out.print("</response>");
				out.flush();
			}
		}
	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);

	}

}

 

<body>


<fieldset><script type="text/javascript">
var XMLHttpReq;
	//创建XMLHttpRequest对象              
function createXMLHttpRequest() {
	 if(XMLHttpReq)   
	   {   
	    /*删除之前的XMLHttp,释放资源*/  
	   try {    
	      delete XMLHttpReq;    
	      XMLHttpReq = null;    
	     } catch (e) {}    
	   } 
	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 go4()
{  
	createXMLHttpRequest();
	var supertype = document.getElementById("supertype").value;//获取选中的大类别.
	var url = "supertype="+supertype;;
	XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
	XMLHttpReq.open("POST","/pynon/subtype",true);
	XMLHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");   
	
	//XMLHttpReq.setRequestHeader("If-Modified-Since","0"); 
	//XMLHttpReq.setRequestHeader("Cache-Control","no-cache");
	XMLHttpReq.send(url);
}


function processResponse() {	
	if (XMLHttpReq.readyState == 4) { // 判断对象状态
    	if (XMLHttpReq.status == 200 || XMLHttpReq.status==0) { // 信息已经成功返回,开始处理信息
        	updateList();
        } else { //页面不正常
            window.alert("您所请求的页面有异常。");
        }
    }
}


function updateList()
{
	clearList();
	var subtype = document.getElementById("subtype");//小类别的控件对象
	var subtypeids = XMLHttpReq.responseXML.getElementsByTagName("subtypeids");
	var subtypenames = XMLHttpReq.responseXML.getElementsByTagName("subtypenames");
	var option=null;
	for(var i=0;i<subtypeids.length;i++)
	{
		option = document.createElement("option");
		option.value = subtypeids[i].firstChild.nodeValue;				
		option.appendChild(document.createTextNode(subtypenames[i].firstChild.nodeValue));
		subtype.appendChild(option);
	}
}
function clearList() {
 		
			var subtype = document.getElementById("subtype");
			while(subtype.childNodes.length > 0) {
				subtype.removeChild(subtype.childNodes[0]);
			}
	}
</script>


<div>分析模板:<select id="supertype" onChange="go4()"
	style="width: 100px">
	<option value="0">请选择类别</option>
	<%
		Connection cont = MysqlConnections.getConnection();
			if (cont != null) {
				Statement stmt = null;
				ResultSet rs = null;
				try {
					stmt = cont.createStatement();
					rs = stmt
							.executeQuery("select distinct typename from dt_talknet");

					while (rs.next()) {
	%>

	<option value="<%=rs.getString("typename")%>"><%=rs.getString("typename")%></option>
	<%
		}
	%>
</select> <%
 	if (rs != null) {
 					rs.close();
 					rs = null;
 				}
 				stmt.close();
 				stmt = null;
 				MysqlConnections.freeConnection(cont);
 			} catch (SQLException e) {
 				MysqlConnections.freeConnection(cont);
 				e.printStackTrace();
 			} finally {
 				try {
 					if (rs != null) {
 						rs.close();
 						rs = null;
 					}
 					if (stmt != null) {
 						stmt.close();
 						stmt = null;
 					}
 				} catch (SQLException e1) {
 					e1.getMessage();
 				}
 			}
 		}
 %> 
 <select style="width: 200px" id="subtype" name="subtype">
	<option value="0">==请选择==</option>
</select>

</div>
<br>

<br>
<br>
</fieldset>


</body>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
未来社区的建设背景和需求分析指出,随着智能经济、大数据、人工智能、物联网、区块链、云计算等技术的发展,社区服务正朝着数字化、智能化转型。社区服务渠道由分散向统一融合转变,服务内容由通用庞杂向个性化、服务导向转变。未来社区将构建数字化生态,实现数据在线、组织在线、服务在线、产品智能和决策智能,赋能企业创新,同时注重人才培养和科研平台建设。 规划设计方面,未来社区将基于居民需求,打造以服务为中心的社区管理模式。通过统一的服务平台和应用,实现服务内容的整合和优化,提供灵活多样的服务方式,如推送式、订阅式、热点式等。社区将构建数据与应用的良性循环,提高服务效率,同时注重生态优美、绿色低碳、社会和谐,以实现幸福民生和产业发展。 建设运营上,未来社区强调科学规划、以人为本,创新引领、重点突破,统筹推进、整体提升。通过实施院落+社团自治工程,转变政府职能,深化社区自治法制化、信息化,解决社区治理中的重点问题。目标是培养有活力的社会组织,提高社区居民参与度和满意度,实现社区治理服务的制度机制创新。 未来社区的数字化解决方案包括信息发布系统、服务系统和管理系统。信息发布系统涵盖公共服务类和社会化服务类信息,提供政策宣传、家政服务、健康医疗咨询等功能。服务系统功能需求包括办事指南、公共服务、社区工作参与互动等,旨在提高社区服务能力。管理系统功能需求则涉及院落管理、社团管理、社工队伍管理等,以实现社区治理的现代化。 最后,未来社区建设注重整合政府、社会组织、企业等多方资源,以提高社区服务的效率和质量。通过建立社区管理服务综合信息平台,提供社区公共服务、社区社会组织管理服务和社区便民服务,实现管理精简、高效、透明,服务快速、便捷。同时,通过培育和发展社区协会、社团等组织,激发社会化组织活力,为居民提供综合性的咨询和服务,促进社区的和谐发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值