1、jsp页面代码
js 代码
- <script type=< span="">"text/javascript">
- var req;
- window.onload=function(){
- }
- function Change_Select()
- {
- var zhi=document.getElementById('select1').value;
- var url="doSelect.do?method=getSelect2&id="+zhi;
- if(zhi=="0"){
- alert("请选择您要察看的信息");
- return;
- }else{
- if(window.XMLHttpRequest)
- {
- req=new XMLHttpRequest();
- }else if(window.ActiveXObject)
- {
- req=new ActiveXObject("Microsoft.XMLHTTP");
- }
- if(req)
- {
- req.open("GET",url,true);
- req.onreadystatechange=callback;
- req.send(null);
- }
- }
- }
- function Change_Select2()
- {
- var zhi=document.getElementById('select2').value;
- //alert(zhi.substring(0,2));
- if(zhi=="0"){
- alert("请选择您要察看的信息");
- return;
- }
- if(true){
- var url="doSelect.do?method=getSelect3&id="+zhi;
- if(window.XMLHttpRequest)
- {
- req=new XMLHttpRequest();
- }else if(window.ActiveXObject)
- {
- req=new ActiveXObject("Microsoft.XMLHTTP");
- }
- if(req)
- {
- req.open("GET",url,true);
- req.onreadystatechange=callback2;
- req.send(null);
- }
- }else{
- parent.topFram.location ="sqdSelectAll.go?method=getlistAll&id="+zhi;
- }
- }
- function Change_Select3()
- {
- var zhi=document.getElementById('m_lbbm_th').value;
- //alert(zhi.substring(0,2));
- if(zhi=="0"){
- alert("请选择您要察看的信息");
- return;
- }else{
- parent.topFram.location ="sqdSelectAll.go?method=getlistAll2&id="+zhi;
- }
- }
- function callback()
- {
- if(req.readyState == 4)
- {
- if(req.status == 200)
- {
- parseMessage();
- }else{
- alert("Not able to retrieve description"+req.statusText);
- }
- }
- }
- function callback2()
- {
- if(req.readyState == 4)
- {
- if(req.status == 200)
- {
- parseMessage2();
- }else{
- alert("Not able to retrieve description"+req.statusText);
- }
- }
- }
- function parseMessage()
- {
- var xmlDoc=req.responseXML.documentElement;
- var xSel=xmlDoc.getElementsByTagName('select');
- var select_root=document.getElementById('select2');
- select_root.options.length=0;
- for(var i=0;i<xsel.length;i++) <="" span="">
- {
- var xValue=xSel[i].childNodes[0].firstChild.nodeValue;
- var xText=xSel[i].childNodes[1].firstChild.nodeValue;
- var option=new Option(xText,xValue);
- try{
- select_root.add(option);
- }catch(e){
- }
- }
- }
- function parseMessage2()
- {
- var xmlDoc=req.responseXML.documentElement;
- var xSel=xmlDoc.getElementsByTagName('select');
- var select_root=document.getElementById('select3');
- select_root.options.length=0;
- for(var i=0;i<xsel.length;i++) <="" span="">
- {
- var xValue=xSel[i].childNodes[0].firstChild.nodeValue;
- var xText=xSel[i].childNodes[1].firstChild.nodeValue;
- var option=new Option(xText,xValue);
- try{
- select_root.add(option);
- }catch(e){
- }
- }
- }
- </script>
2、html代码
xml 代码
- <html:form action="/doSelect.do" >
- <TABLE class = "cbToolbar" id = "idToolbar" cellpadding = '0' cellspacing = '0'>
- <TR align = "left" valign = "top" >
- <TD NOWRAP> 物质类别:
- <html:select property="select1" onchange="Change_Select()">
- <html:option value="0">请选择html:option>
- <html:options collection="list1" property="typId" labelProperty="typName"/>
- html:select>
- <html:select property="select2" styleId="m_lbbm_se" onchange="Change_Select2()">
- <html:option value="0"> html:option>
- html:select>
- <html:select property="select3" styleId="m_lbbm_th" onchange="Change_Select3()">
- <html:option value="0"> html:option>
- html:select>
- TD>
- tr>
- table>
- html:form>
3、控制器源码
java 代码
- public ActionForward list1(
- ActionMapping mapping,
- ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response) {
- String lan = (String)request.getSession().getAttribute("languageType");
- if(lan==null)lan ="1";
- String HQL = "from Type t where t.typLang= :lang and t.leve=:leve order by t.typOrder";
- Query query = dao.getHQLQuery(HQL);
- query.setString("lang",lan);
- query.setInteger("leve",2);
- List types = query.list();
- request.setAttribute("list1",types);
- return mapping.findForward("list");
- }
- public ActionForward getSelect2(
- ActionMapping mapping,
- ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response) {
- String lan = (String)request.getSession().getAttribute("languageType");
- if(lan==null)lan ="1";
- String id=request.getParameter("id");
- response.setContentType("text/xml;charset=UTF-8");
- response.setHeader("Cache-Control","no-cache");
- String xml_start="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
- xml_start+="<selects>";
- String xml_end="</selects>";
- String xml="<select><value>"+"0"+"</value><text>"+"select"+"</text></select>";
- String m_lbbm_se="";
- String m_lbmc_se="";
- List LbfList=null;
- LbfList=getList(3,lan,new Integer(id).intValue());
- Iterator it=LbfList.iterator();
- while(it.hasNext()){
- Type cgsqd=(Type)it.next();
- m_lbbm_se=cgsqd.getTypId().toString();
- m_lbmc_se=cgsqd.getTypName();
- xml +="<select><value>"+m_lbbm_se+"</value><text>"+m_lbmc_se+"</text></select>";
- }
- String last_xml=xml_start+xml+xml_end;
- try {
- System.out.println(last_xml);
- response.getWriter().write(last_xml);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
- public ActionForward getSelect3(
- ActionMapping mapping,
- ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response) {
- String lan = (String)request.getSession().getAttribute("languageType");
- if(lan==null)lan ="1";
- String id=request.getParameter("id");
- response.setContentType("text/xml;charset=UTF-8");
- response.setHeader("Cache-Control","no-cache");
- String xml_start="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
- xml_start+="<selects>";
- String xml_end="</selects>";
- String xml="<select><value>"+"0"+"</value><text>"+"select"+"</text></select>";
- String m_lbbm_se="";
- String m_lbmc_se="";
- List LbfList=null;
- LbfList=getList_product(lan,new Integer(id).intValue());
- Iterator it=LbfList.iterator();
- while(it.hasNext()){
- Product cgsqd=(Product)it.next();
- m_lbbm_se=cgsqd.getProId().toString();
- m_lbmc_se=cgsqd.getProName();
- xml +="<select><value>"+m_lbbm_se+"</value><text>"+m_lbmc_se+"</text></select>";
- }
- String last_xml=xml_start+xml+xml_end;
- try {
- System.out.println(last_xml);
- response.getWriter().write(last_xml);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
- private List getList(int lb,String lan,int parent_id){
- String HQL = "from Type t where t.typLang= :lang and t.leve=:leve and t.type.typId=:pid order by t.typOrder";
- Query query = dao.getHQLQuery(HQL);
- query.setString("lang",lan);
- query.setInteger("leve",lb);
- query.setInteger("pid",parent_id);
- List types = query.list();
- return types;
- }
- private List getList_product(String lan,int typeid){
- String HQL = "from Product p where p.proLang= :lang and p.type.typId=:typeid order by p.proOrder";
- Query query = dao.getHQLQuery(HQL);
- query.setString("lang",lan);
- query.setInteger("typeid",typeid);
- List lists = query.list();
- return lists;
- }
相关推荐
在三级联动中,Struts2可能被用来接收并处理前端的Ajax请求,根据不同的选择更新后续下拉框的数据。 **Hibernate** 是一个对象关系映射(ORM)框架,它允许开发者用面向对象的方式来操作数据库。在这个项目中,...
在这个“Ajax+Struts+Hibernate实现省市联动”的项目中,我们将深入探讨这三个技术如何协同工作以实现高效的用户体验。 Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并...
在本项目中,"json实现三级联动下拉框---struts版(数据来自mysql数据库)"是利用JSON来处理省市县三级联动效果的示例,它通过Struts框架与MySQL数据库进行交互,动态地从数据库获取数据并更新到前端页面的下拉框中...
**Ajax+jQuery三级联动详解** 在Web开发中,三级联动是一种常见的交互设计,它通常用于实现下拉框之间的联动效果,比如省份、城市、区县的选择。在这个小demo中,我们将探讨如何使用Ajax和jQuery技术结合Struts2...
在IT行业中,"三级联动"通常指的是在一个应用中,三个或更多下拉列表框之间存在联动关系,即一个下拉框的选择会影响到下一个下拉框的数据加载。这种技术常见于地域选择、产品分类等场景,提供了良好的用户体验。在这...
在给定的“struts2二级联动下拉列表”项目中,开发者利用Struts2、Hibernate和Spring这三大核心技术,创建了一个功能,使得用户在网页上可以选择省份和城市,这两个下拉列表会进行联动,即选择省份后,城市下拉列表...
联动下拉框是一种常见的交互设计,常见于需要根据前一个选择项动态加载后一个选择项的场景,例如省份和城市的选择。在ExtJS中,我们可以使用ComboBox组件来实现这个功能。ComboBox允许我们设置远程数据源,通过AJAX...
在Struts框架中实现下拉框的多级联动是一项常见的需求,比如在地址选择时,可以选择国家、省份、城市等,每一级的选择都会影响下一级的选项。 在Struts框架中,实现下拉框的联动通常涉及到以下几个关键知识点: 1....
struts2+jsp+json+javascript实现的三级下拉菜单,没有service和dao层,数据是虚拟的。需要的欢迎下载。项目直接导入myeclipse就可以使用。访问路径localhost:8080/ajax_day02_hw/proviencecityarea.jsp
“ajax,struts2,json实现省市区三级联动源码含全国省市区数据库”这一标题揭示了这个压缩包包含的是一项使用AJAX、Struts2和JSON技术来实现的省市区三级联动功能的源代码。这项技术常用于web应用中,允许用户在选择...
### 使用Ajax+JSON实现多级联动菜单的知识点详解 #### 一、背景介绍与概念解析 随着互联网技术的发展,用户对交互式应用的需求日益增长。RIA(Rich Internet Applications)概念的提出更是加速了这一趋势。其中,...
在Struts2框架中,我们可以利用Ajax来实现二级联动效果,即在一个下拉框的选择改变时,通过Ajax请求动态地更新另一个下拉框的内容。 首先,我们需要了解Struts2的Action类,它是处理用户请求的核心。在实现二级联动...
在这个实例中,Ajax负责在用户交互时发送请求到服务器,获取或提交数据,实现级联效果,例如下拉框的联动选择。 jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画设计和Ajax交互。jQuery的...
在IT行业中,SSH2(Struts2 + Spring + Hibernate)是一个经典的Java Web开发框架,用于构建企业级应用程序。而ExtJS的ComboBox是一个功能强大的组件,它提供了类似下拉列表的功能,用户可以选择一个或多个值。当...
在本实例中,我们将探讨如何使用Struts2框架中的标签来实现二级联动,具体以省市联动为例。 首先,我们需要了解Struts2框架的基础架构。Struts2的核心是Action类,它负责处理用户的请求,并通过Result返回相应的...
在Web应用中,一级联动是指一个下拉框的选择会直接影响另一个下拉框的内容,二级联动则是在一级联动的基础上,第二个下拉框的选择又会触发第三个或更多下拉框的更新。这种联动方式常见于地区选择、商品分类等场景。...
在本实例中,“struts2+oracle三级联动菜单”是使用Struts2框架实现的一个功能,它涉及数据库(Oracle)的交互以及前端用户界面的动态更新。联动菜单,又称为级联下拉框,是指在一个下拉菜单的选择会影响到另一个或...
总的来说,这个"web小项目:省市区三级联动(struts2+json)"是一个典型的前后端交互案例,展示了如何利用Struts2处理业务逻辑,通过JSON进行数据交换,以及JavaScript如何动态更新页面内容,实现用户友好的交互体验...
本项目"struts2+hibernate+spring实现的二级联动下拉列表"展示了如何将这三个框架整合起来,实现一个功能:在用户界面上展示两个下拉列表,当用户选择第一个下拉框的值时,第二个下拉框的内容会根据所选值动态更新。...
Struts2、Spring、Hibernate和DWR这四个技术在IT领域中是相当核心的组件,它们各自承担着不同的职责,并且常被组合使用以构建高效的企业级应用。在这个"Struts2+Spring+Hibernate+DWR实现的城市联动"项目中,我们将...