Myeclipse 5.1 + dwr2.0 + jsp一般我们再工作当中都是利用返回Map来填充下拉框。这样比较方便,可以吧数据查找出来后,包装成Map,如果用TreeMap即实现了一定的排序。具体请往下看!
1.首先新建项目,把dwr.jar拷贝到lib目录
2.添加web.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
3.dwr.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="Test">
<param name="class" value="com.test.Test" />
</create>
</allow>
</dwr>
4.Test.java内容
package com.test;
import java.util.Map;
import java.util.TreeMap;
/**
* @author lhq E-mail:yourgame@163.com
* @version 创建时间:2008-4-1 下午09:07:25
*/
public class Test {
public Map getOptions() {
Map map = new TreeMap();
map.put("1", "aa");
map.put("2", "bb");
map.put("3", "cc");
map.put("4", "dd");
map.put("5", "ee");
return map;
}
}
5.index.jsp内容
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type='text/javascript' src='/dwrselec/dwr/interface/Test.js'></script>
<script type='text/javascript' src='/dwrselec/dwr/engine.js'></script>
<script type='text/javascript' src='/dwrselec/dwr/util.js'></script>
<script type="text/javascript">
function init(){
Test.getOptions(function(data){
dwr.util.removeAllOptions('x');
dwr.util.addOptions('x',{'':'请选择'});
dwr.util.addOptions('x',data);
});
}
</script>
</head>
<body>
<input type="button" value="showModalDialog()"
onclick="window.showModalDialog('a.jsp',window,'dialogWidth:200px;dialogHeight:50px');">
<select id="x" name="x"
onchange="alert(this.options[this.selectedIndex].value)">
<option>
sdf
</option>
</select>
</body>
</html>
6.a.jsp 内容
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type='text/javascript' src='/dwrselec/dwr/interface/Test.js'></script>
<script type='text/javascript' src='/dwrselec/dwr/engine.js'></script>
<script type='text/javascript' src='/dwrselec/dwr/util.js'></script>
<script type="text/javascript">
var s = window.dialogArguments;
</script>
</head>
<body>
<input type="button" value="调用父窗口的方法" onclick="s.init();" />
</body>
</html>
分享到:
- 2008-04-01 22:04
- 浏览 2791
- 评论(0)
- 论坛回复 / 浏览 (0 / 1883)
- 查看更多
相关推荐
通常,国家的列表可以在页面加载时静态加载,而城市列表则在用户选择国家后通过DWR动态填充。 5. **JavaScript代码**: 使用DWR的API(如`DWRUtil`和`Control`)来监听国家选择列表的`onChange`事件。当国家选择...
### 如何将通过DWR调用Java类方法返回的ArrayList赋值给逻辑迭代器 在Web开发中,经常需要从前端向后端发起请求并获取数据。Dynamic Web Remoting(DWR)是一种简化Ajax开发的技术,它使得JavaScript可以像调用本地...
DWR的核心是通过创建一个代理,使JavaScript可以像调用本地函数一样调用服务器端的Java方法。DWR提供了自动转换Java对象到JavaScript对象以及反向转换的功能,使得数据交换变得简单。 **DWR分页实现步骤:** 1. **...
6. **DWR调用示例**: ```javascript <script type="text/javascript" src="/dwr/interface/DropdownService.js"> window.onload = function() { DropdownService.getDropdownOptions(function(data) { var ...
4. **DWR调用**:DWR提供了`execute`函数,用于调用服务器端的方法。在下拉菜单的`onchange`事件处理函数中,你可以使用这个函数传递当前选中的值,然后在回调函数中处理返回的新选项数据。 5. **更新下拉菜单**:...
DWR还支持批量调用、缓存和错误处理,提升了性能和可靠性。 4. 集成与应用: 在实际开发中,DWR常被用于动态数据展示和用户交互,比如实时查询、表格数据编辑等场景。通过DWR,开发者可以构建更加响应式的Web应用,...
DWR 处理各种 form 表单 Select/option,table DWR(Direct Web Remoting)是一种基于 Ajax 的远程调用技术,用于简化 JavaScript 与服务器之间的交互。DWR 可以将服务器端的 Java 对象转换为 JavaScript 对象,使得...
主要涉及的技术点包括:DWR的基本原理、如何通过DWR调用服务器端方法获取列表数据、前端JavaScript处理获取的数据以及动态生成下拉菜单选项。 #### DWR简介 DWR是一种简化Ajax应用开发的Java库,它允许在浏览器端...
例如,`DWRUtil.setValue`可以方便地设置表单元素的值,`DWRUtil.fillSelect`用于填充SELECT选项,`DWRUtil.update`可以更新指定的DOM元素。 **5. 实战案例** 在提供的资源中,"DWR util_js 整理(DWR 处理各种form...
4. JavaScript代码通过DWR调用服务器端的方法,传递当前选中的值。 5. 服务器端方法接收到请求,根据传入的值查询数据库,获取新的相关数据。 6. 服务器端方法返回结果,DWR自动将新数据更新到JavaScript环境中。 7....
否则,调用`clear_select`函数清除现有选项,并通过DWR调用服务器端的方法获取新城市的列表,填充到区县下拉框中。 5. **DWR调用Java方法** - 在服务器端,你需要创建一个Java方法(例如`...
在前端,我们使用HTML和JavaScript来构建下拉菜单,并利用DWR调用后端方法。当用户在省份下拉框中选择一个值时,我们可以监听其`change`事件,然后调用`provinceCityService.getCitiesByProvince()`方法,传入所选...
2. **定义可远程调用的Java类和方法**:在后端创建Java类,并标记为可被DWR调用。 3. **配置DWR**:在dwr.xml文件中声明可调用的Java类和方法。 4. **创建JavaScript接口**:DWR自动生成JavaScript接口,可以直接在...
而`<select>`标签则是标准HTML控件,它们在JavaScript的控制下,通过DWR调用后端方法填充数据。当用户在大类下拉框中做出选择,`slsect_fsort()`函数被触发,通过`getSecondSort()`方法调用后台服务。 6. **DWR的...
2. **DWR的配置与使用**: 首先要在web.xml中配置DWR的ContextListener,然后在服务器端创建可被DWR调用的Java类,最后在HTML页面上使用DWR的JavaScript API来调用这些方法。 3. **AJAX调用**: DWR使前端可以发起...
当用户在`parentSelect`中选择一个值,`updateChildSelect`函数会被调用,通过DWR向服务器发送请求,获取到新的`childSelect`选项,并更新下拉框内容。这种方式极大地提高了用户的交互体验,使得用户可以在不刷新...
接着,当用户选择商品小类时,DWR再次被调用来填充商品品牌的下拉菜单。 为了实现这个功能,我们需要以下步骤: 1. **编写服务器端方法**: 在Java中,我们需要创建两个方法,分别对应二级联动和三级联动。`...
HTML中的表单元素,如`<select>`下拉列表,与JavaScript绑定,当选项改变时触发事件,触发DWR调用后端服务获取新数据。 6. **Ajax异步通信**:通过Ajax技术,可以实现页面部分内容的动态更新,而无需刷新整个页面。...
DWR是一种开源框架,允许在Java服务器端与客户端之间进行Ajax调用,使得JavaScript可以直接调用服务器端的Java方法,简化了前端与后端的交互过程。而Util.js作为DWR框架中的一部分,提供了丰富的工具函数,用于处理...
util.js包含一些有用的函数function,用于在客户端页面调用,它可以和dwr分开,独立营用于你的系统中。 主要功能如下: 1、$() 获得页面参数值 2、addOptions and removeAllOptions 初始化下拉框 3、addRows and...