`
xi5566
  • 浏览: 151758 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

DWR写个3级联动

阅读更多

我原先写过1个拿prototype.js写过1个 可惜和htmlarea发生冲突  没办法 只有换了拿DWR写了个

 

先看JSP

<%@ page language="java" pageEncoding="utf-8"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
  <head>
    
    <title>course.jsp</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<script type="text/javascript" src="<%=basePath%>dwr/util.js"></script>
		<script type="text/javascript" src="<%=basePath%>dwr/engine.js"></script>
		<script type="text/javascript"
			src="<%=basePath%>dwr/interface/ValidatName.js"></script>
		<script type="text/javascript">
		function sendRequest(selectValue){
			ValidatName.ExamQuestionCourse(selectValue,callBackValidatName);
		}
		
		function callBackValidatName(data){
	 		 var json=data;
	 		 var selectObj = document.getElementById("course_id");
			selectObj.options.length = 1;    		
			for(var i=0; i<json.length; i++){  
				selectObj[i+1] = new Option(json[i].course_name,json[i].id);			               
			}  
  		}
  		
  		function sendRequest1(selectValue1){
			ValidatName.ExamQuestionContent(selectValue1,callBackValidatName1);
		}
  		
  		function callBackValidatName1(data1){
  			var json1 = data1;
			var selectObj1 = document.getElementById("relation_course_id");
			selectObj1.options.length = 1;    		
			for(var i=0; i<json1.length; i++){    			
				selectObj1[i+1] = new Option(json1[i].content_title,json1[i].id);            
			}  
  		}
  		
  		
	</script>
  </head>
  
  <body>
  	<html:form action="/ajax.html?method=prep">
    <table>
    <tr>
    <td width="150" height="26" align="left" class="inputitemname">请选择课件</td>
    <td width="350" align="left" class="tablebody">
	课程类型:
		<html:select property="course_type_id" onchange="javascript:sendRequest(this.value);act='';" styleId="id1">
			<html:option value="0">请选择</html:option>
			<html:options collection="list" property="id" labelProperty="course_type_name"/>
		</html:select><br>
   	 课程名称:
		<html:select property="course_id" onchange="javascript:sendRequest1(this.value);act=''" styleId="course_id" >
			<html:option value="0">请选择</html:option>
		</html:select><br>
		课程内容:
		<html:select property="relation_course_id" styleId="relation_course_id">
			<html:option value="0">请选择</html:option>
		</html:select>
    </td>
  </tr>
</html:form>
    </table>
  </body>
</html:html>

 因为是拿struts写的action就不写出来了 里边就是去顶级数据

在看配置

dwr.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
	<allow>
		<create javascript="ValidatName" creator="new">
			<param name="class" value="com.hcwy.service.DwrService"></param>
		</create>
		<convert converter="bean" match="com.hcwy.bean.TrainingCourse"> 
				<param name="include" value="id,course_name" /> 
		</convert> 
		<convert converter="bean" match="com.hcwy.bean.TrainingContent"> 
				<param name="include" value="id,content_title" /> 
		</convert> 
		
	</allow>
</dwr>

 

呵呵因为第1次写DWR 所以里边转数据我原先以为要用JSON 结果他里边自动给你转好了 只用写下配置就行了

 

最后看下SERVICE

package com.hcwy.service;

import java.util.ArrayList;
import java.util.HashMap;

import org.json.JSONArray;
import org.json.JSONObject;

import com.hcwy.bean.TrainingContent;
import com.hcwy.bean.TrainingCourse;
import com.hcwy.dao.DAO;

public class DwrService {

	public ArrayList ExamQuestionCourse(String id){
		DAO dao=new DAO();
		ArrayList list=dao.viewCourse(id);
//		JSONArray jsonArray = new JSONArray();
//		for(int i = 0; i < list.size(); i++ ){
//			TrainingCourse cc = (TrainingCourse)list.get(i);
//			HashMap map=cc.toHashMap();
//			JSONObject jsonObject = new JSONObject(map);
//			jsonArray.add(jsonObject);
//		}
		dao.close();
		return list;
	}
	
	public ArrayList ExamQuestionContent(String id){
		DAO dao=new DAO();
		ArrayList list=dao.viewContent(id);
//		JSONArray jsonArray = new JSONArray();
//		for(int i = 0; i < list.size(); i++ ){
//			TrainingContent cc=(TrainingContent)list.get(i);
//			HashMap map=cc.toHashMap();
//			JSONObject jsonObject = new JSONObject(map);
//			jsonArray.add(jsonObject);
//		}
		dao.close();
		return list;
	}
	
}

  DAO里就是通过ID取数据 DAO也不想要了

 

呵呵老规矩DEMO项目 如果要的朋友 留下油箱我发给你门

分享到:
评论
2 楼 yu80305051 2008-11-18  
2610838@qq.com
我急要 !! 谢谢啊
1 楼 javaeye官理员 2008-09-19  
songxiaofeng1981@163.com

相关推荐

    ajax dwr 框架实现二级联动下拉列表源码

    **Ajax DWR 框架实现二级联动下拉列表源码详解** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。DWR(Direct Web Remoting)则是一个用于Java web应用的开源...

    dwr框架实现二级菜单联动

    在二级联动菜单中,当用户选择一级菜单时,Ajax会异步请求服务器端的Java方法,这些方法由DWR暴露给前端。服务器端收到请求后,通过`DepartmentDAO`或`EmployeeDAO`获取相关数据,并将结果返回给前端。前端接收到...

    DWR实现省市县三级联动小例子

    标题 "DWR实现省市县三级联动小例子" 暗示了这个压缩包可能包含一个使用Direct Web Remoting (DWR) 技术构建的示例项目,该示例展示了如何实现在网页上进行省、市、县三级联动选择的功能。这种功能在很多中国的网站...

    Dwr_cities三级联动

    【Dwr_cities三级联动】是一个典型的Web应用程序开发示例,它主要展示了如何实现省、市、县(区)的三级联动效果。这个项目通常用于地址选择或者区域筛选功能,例如在电商网站的配送地址设置中。在这个系统中,用户...

    SSH+dwr实现三级级联动-转自Ajava

    总结来说,SSH+dWR实现的三级联动是Java Web开发中的一个实用技术,结合了Spring、Struts、Hibernate的强大力量以及DWR的实时通信特性,为用户提供流畅的交互体验。在这个过程中,开发者需要理解每个框架的作用,并...

    dwr 省市县 三级联动 struts 实例

    在IT行业中,开发一个能够实现省、市、县三级联动的系统是一项常见的需求,尤其是在中国的地理信息系统或电子商务网站中。这个实例是基于DWR(Direct Web Remoting)技术和Struts框架来实现的,旨在帮助开发者更好地...

    DWR实现的三级联动链表的例子

    在这个“DWR实现的三级联动链表的例子”中,我们将探讨如何使用DWR创建一个能够动态更新的三级联动列表,这种功能常见于如地区选择、产品分类等场景。 首先,我们需要理解DWR的基本工作原理。DWR通过在浏览器端创建...

    AJAX_DWR框架(二级联动+PPT实例代码)

    在这个名为"AJAX_DWR框架(二级联动+PPT实例代码)"的压缩包中,包含了以下内容: 1. **源代码**:这是实际应用AJAX_DWR技术的代码示例。通常,这些代码会展示如何实现二级联动,即在一个下拉列表的选择影响另一个...

    dwr 实现2级联动

    总结,"dwr 实现2级联动"是利用DWR框架来创建一个前端与后端交互的示例,通过动态更新页面元素,达到两个选择框之间的联动效果。在实际开发中,DWR提供了一种便捷的方式来进行异步通信,提高了Web应用的交互体验。

    DWR 实现三级联动(2)

    在这个场景中,DWR被用来实现在Web表单中的三级联动下拉菜单,这种功能常见于商品分类、地区选择等场景,用户选择上级选项后,下级选项会自动填充相关数据。 1. **三级联动**:在Web界面设计中,三级联动指的是三个...

    DWR实现三级联动.pdf

    在本案例中,DWR被用于实现一个省市县三级联动的选择器,即当用户选择一个省份时,相应的城市列表会自动更新;当用户选择了一个城市后,相关的县区列表也会随之更新。 #### 二、关键技术栈 - **Spring 2.0.5**:...

    ajaxdwr select二级联动

    在这个“ajaxdwr select二级联动”的场景中,我们将讨论如何利用这两种技术实现下拉菜单的级联选择效果。 Ajax是一种在无需刷新整个页面的情况下,能够更新部分网页的技术。它通过JavaScript发送异步请求到服务器,...

    三级联动代码 DWR

    在本案例中,"三级联动代码 DWR"指的是使用DWR来实现一个具有三级关联的下拉菜单,当用户在一级菜单中选择一项时,二级菜单会自动更新,然后根据二级菜单的选择,三级菜单也会动态改变。这种方式可以提升用户体验,...

    dynamic.rar dwr实现两级联动

    在“dynamic.rar”这个压缩包中,我们可能找到了一个关于使用DWR实现两级联动的例子。两级联动通常指的是在一个下拉列表的选择会影响另一个下拉列表的选项,这种交互常见于省市区选择、产品分类等场景。 DWR的核心...

    DWR实现省市县三级联动

    本话题聚焦于利用DWR来实现省市县三级联动的效果,这是一种常见的前端交互设计,常见于地址选择器或地区筛选功能中。 在省市县三级联动中,用户首先选择省份,接着根据省份的选择自动填充对应的市,再根据市的选择...

    DWR 实现三级联动(1)

    总结来说,DWR提供了一个强大而简便的机制,使得在Struts2这样的MVC框架中实现三级联动下拉菜单成为可能,提高了Web应用的交互性和响应性。通过合理配置和编程,我们可以创建出高效且用户友好的Web界面。

    java_DWR递归函数实现城市的省市县三级联动

    在这个场景中,"java_DWR递归函数实现城市的省市县三级联动" 提供了一个利用DWR处理多级联动选择的实例,特别适用于中国的行政区域划分,包括省、市、县三级。这种功能常见于地址选择、物流配送等业务场景。 首先,...

    三级联动(DWR框架,hibernate)

    **描述解析:**虽然描述是NULL,但根据标题我们可以推测,这篇博客可能讲述了如何使用DWR和Hibernate结合,来创建一个动态的、基于用户选择的三级联动效果。博主可能通过实例演示了如何配置DWR,设置Hibernate映射...

    ajax与dwr实现二级联动

    在Web开发中,二级联动是一种常见的交互设计,用于在两个下拉框或列表之间建立关联,通常是基于用户在第一个选择中的选项动态更新第二个选择项。在这种场景中,`AJAX (Asynchronous JavaScript and XML)` 和 `DWR ...

    dwr框架+struts+Hibrenate实现下拉菜单二级联动

    "dwr框架+struts+Hibernate实现下拉菜单二级联动"是一个典型的Web应用程序开发技术组合,它旨在创建一个动态且响应式的交互式UI,特别是在处理关联数据时。下面我们将深入探讨这个主题。 首先,DWR(Direct Web ...

Global site tag (gtag.js) - Google Analytics