首页 > 代码库 > 关于java --DWR
关于java --DWR
【定义DWR】:
DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器的本地代码(客户端代码)一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用.
它包含两个主要的部分:
1、允许javascript从WEB服务器上一个遵循了AJAX原则的servlet中获取数据。
2、js库可以帮助开发者成功的利用获取的数据动态的改变网页的内容。
【使用DWR】
1、首先必须有dwr的jar包文件:(提供下载路径:dwrjar文件下载)
2、在web.xml里配置dwr:
<!-- 配置DWR --> <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>3、创建类AdjBudgetModel,然后再类中创建你需要的方法:
/** * 用于树上面的操作 by xihy 关于处理的界面的动态的处理事件 2010-05-11 */ public AdjBudgetPlanInfo gainThebootInfo(String bootId) throws Exception { /** * 查询根结点的记录 */ try { return treeBugetDao.gainThebootInfo(bootId); } catch (Exception e) { e.printStackTrace(); return null; } }
4、AdjBudgetPlanInfo文件
package com.xx.xx.budget.domain; public class AdjBudgetPlanInfo { private String bpiId ; private String bctId ; private String bacId ; private String depId ;} **ps:这里简写了,还有部分字段没有写出来,还有对应的set和get都没有写出来,这里只是简写一下,到时候可根据自己项目中的需要自己来完善
4、创建dwr.xml文件,并且配置你刚才创建的类AdjBudgetModel
<?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="spring" javascript="adjBudgetServer"> <param name="beanName" value=http://www.mamicode.com/"adjBudgetModel" />><!-- 将他作为一个对象返回,传给客户端 --> <convert match="com.xx.xx.budget.domain.AdjBudgetPlanInfo" converter="bean"> <param name="include" value=http://www.mamicode.com/"bpiId,bpiName,bpiIsRoot,hasChildren,bpiCreateDate,bpscid,bacId,proId,bpiLevel">>5、在jsp页面中的使用首先在你的jsp页面上引入,这个引入的名字是刚才xml文件中配置的那个名字
<script type="text/javascript" src=http://www.mamicode.com/"/dwr/interface/adjBudgetServer.js"></script>{ps:这里我们只是负责引入,这里是dwr通过反射机制引入的。}然后就是页面上的使用了:
function startt(){ <% if(null != value && !value.equals("")) { %> adjBudgetServer.gainThebootInfo('<%=value%>',{exceptionHandler:function(msg){alert(msg);},callback:showSub}); <% } else { %> alert('xxx'); <% } %> }:
:以上是我自己在项目中用到的
关于java --DWR
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。