// AJAX根据父类查子类 if (ac.equals("searchsontype")) { String xml_start = "<selects>"; String xml_end = "</selects>"; String xml = ""; String fprotype = request.getParameter("fprotype"); ArrayList<HashMap> list = (ArrayList<HashMap>) dao .select("select * from protype where fatherid='" + fprotype + "' and delstatus='0' "); if (list.size() > 0) { for (HashMap map : list) { xml += "<select><value>" + map.get("id") + "</value><text>" + map.get("typename") + "</text><value>" + map.get("id") + "</value><text>" + map.get("typename") + "</text></select>"; } } String last_xml = xml_start + xml + xml_end; response.setContentType("text/xml;charset=GB2312"); response.setCharacterEncoding("utf-8"); response.getWriter().write(last_xml); response.getWriter().flush(); }
时间: 2023-12-22 08:05:49 浏览: 161
这段代码是一个Ajax请求处理的代码块。当请求参数`ac`的取值为`searchsontype`时,它会根据父类id查询子类列表,并以XML形式返回。具体的处理流程如下:
1. 定义XML的开始标记和结束标记,分别是`"<selects>"`和`"</selects>"`。
2. 从请求参数中获取父类id,即`fprotype`。
3. 使用DAO类执行SQL语句,查询所有父类id为`fprotype`且未删除的子类列表。
4. 如果查询结果不为空,则遍历子类列表,将每个子类的id和名称拼接成一个XML的`<select>`节点。
5. 将所有`<select>`节点拼接成完整的XML字符串。
6. 将XML开始标记、XML内容和XML结束标记拼接成完整的XML字符串。
7. 设置响应的内容类型为"text/xml;charset=GB2312",并将字符编码设置为"utf-8"。
8. 将XML字符串写入响应的输出流中,并刷新输出流。
总之,这段代码的作用是通过Ajax请求查询子类列表,返回一个XML格式的数据,以便在页面上动态显示子类列表。
阅读全文