`
xi5566
  • 浏览: 149189 次
  • 性别: 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

相关推荐

Global site tag (gtag.js) - Google Analytics