最近在做项目是用到DWR,在网上查了好多相关资料,最后将自己在项目中的运用过程总结一下,以供以后进一步学习之用。
1.在web.xml中配置dwrservlet,如下:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
2.配置dwr.xml配置文件,告诉dwr都可以访问那些java类
<?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>
<!-- dwr方法 -->
<create javascript="dwrSrv" creator="spring">或者
<create javascript="dwrSrv" creator="new">或者 // dwrSrv是js访问java是的引用名称,creator说明如何得到java类实例,param告诉dwr可以访问的java类,include中指明可以访问的方法,conver指明js和java类直接的属性类型转换
<param name="beanName" value="DwrFactoryImpl" />
<include method="RoleCheck" />
<include method="getAccountList"/>
<include method="generateBusinessData"/>
<include method="getRoleType"/>
<!-- 验证码校验 -->
<include method="imageValidate"/>
</create>
<convert match="com..po.Area" converter="bean"></convert>
</allow>
</dwr>
3.编写java类
public Map getItem(String no) {
OperationImpl opt = new OperationImpl();
Map<String, String> dwrmap = new HashMap<String, String>();
try {
List list = opt.queryObjectList("select o from Item o where o.no='"+no+"' order by o.no");
for (int i = 0; i < list.size(); i++) {
Item item = (Item)list.get(i);
dwrmap.put(item.getNo(), item.getItemNo()+"|"+item.getItemName());
}
} catch (AppRuntimeException e) {
return null;
}
return dwrmap;
}
4.js引用
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link href="/pages/style/common.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="/dwr/engine.js"></script>
<script language="javascript" src="/dwr/util.js"></script>
<script language="javascript" src="/dwr/interface/dwrSrv.js"></script> //dwrSrv.js是dwr根据配置文件生成的js文件。
<html:base/>
</head>
<script type="text/javascript">
function getItem() {
var no = document.getElementById("no").value;
dwrSrv.getFundItem(no,setValue);
}
function setValue(obj) {
var trd = document.getElementById("itemNO");
dwr.util.removeAllOptions(trd);
dwr.util.addOptions(trd,{'':'请选择'});
dwr.util.addOptions(trd,obj);
}
</script>
分享到:
相关推荐
**Ajax学习——DWR的参考书和实用案例学习总结** DWR(Direct Web Remoting)是一种优秀的开源框架,专门用于简化Web应用程序中的Ajax(Asynchronous JavaScript and XML)开发。Ajax技术允许网页在不刷新整个页面...
**DWR心得** DWR(Direct Web Remoting)是一个开源的Java库,它允许Web应用程序在客户端和服务器之间进行实时的、双向的通信,从而实现类似桌面应用的用户体验。DWR使得JavaScript可以直接调用服务器端的Java方法...
16. **DWR (Direct Web Remoting)**:DWR是一个开源的Java框架,允许JavaScript在浏览器和服务器之间直接调用Java方法。 17. **JCP (Java Community Process)**:JCP是一个开放的组织,负责制定和批准Java技术规范...
BookStore项目不仅是一个实用的B2C网上书店平台,更是学习Spring框架及企业级应用开发技术的绝佳案例。通过本心得的介绍,读者可以了解到该项目是如何综合运用多种技术和框架来构建一个功能完备、性能稳定的在线书店...
- **集成DWR**:实现了Ajax功能,增强了用户交互体验。 - **国际化支持**:方便地支持多语言应用。 #### Spring框架 - **核心功能**: - **AOP(面向切面编程)**:将横切关注点(如日志记录、安全检查等)从...
【Java 框架与开源项目概述】 在Java开发领域,框架和开源项目扮演着至关重要的角色,它们为开发者提供了可复用的代码库和...在学习和使用这些框架时,配合相应的IDE插件和社区资源,可以极大地提升开发体验和效果。
总的来说,学习《Struts in Action》可以让你掌握Struts框架的基本架构和高级特性,理解MVC模式在实际开发中的应用,同时通过DWR的使用,你可以为你的Struts应用增添更多交互性和实时性。这将对你的Java Web开发技能...