dwr使用小结

7 篇文章 0 订阅
很久没上来冒泡了 ,把dwr的使用经验搁上来,以后备用。 :wink:

使用dwr当然少不了 dwr.jar 包了,放进去,然后在web.xml中配置我们的dwrServlet

代码贴上:

<servlet>
<servlet-name>DwrServlet</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>12</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DwrServlet</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>



这个搞定了之后,写个dwr.xml放在WEB-INF下,配置指定的java 类。

看代码:

<dwr>
<allow>



<create creator="new" javascript="MainViewAjaxUtil" scope="application">
<param name="class" value="com.xll.ajax.MainViewAjaxUtil" />
</create>


</allow>
</dwr>



<allow> 标签中包括可以暴露给 javascript 访问的东西,
<create> 标签中指定 javascript 中可以访问的 java 类,并定义 DWR 应当如何获得要进行远程的类的实例。
creator="new" 属性指定 java 类实例的生成方式, new 意味着 DWR 应当调用类的默认构造函数来获得实例,其他的还有 spring 方式,通过与 IOC 容器 Spring 进行集成来获得实例等等。
javascript=" MainViewAjaxUtil" 属性指定 javascript代码访问对象时使用的名称。<param> 标签指定要公开给 javascript 的 java 类名。


JSP 页面中调用:


<script type='text/javascript'
src='/dwr/interface/MainViewAjaxUtil.js'></script>
<script type='text/javascript' src='/dwr/engine.js'></script>
<script type='text/javascript' src='/dwr/util.js'></script>




以上三条中下面两条当你用到dwr时是jsp应该包含的,把你在dwr.xml中配置好要用到的访问对象也包含进来,如第一条。

然后在script代码中如下使用:比如你的MainViewAjaxUtil.java 中有方法叫 reloadXxx(),希望页面7秒刷新reloadXxx()中的内容,可以这么做,

<body onload="init()">
....
</body>


<script type="text/javascript">
function init(){
window.setTimeout("reload()",7000);
}

function reload(){
MainViewAjaxUtil.Xxx(
function(data){ .....} //data 是用来接收reloadXxx()方法的返回值对象的,data中的数据可以直接 data.mm获取
);
}
</script>



当你需要reloadXxx()方法返回一个你创建的类时,这是需要在dwr.xml中做如下配置,比如我reloadXxx()返回一个Human对象:

<dwr>
<allow>



<create creator="new" javascript="MainViewAjaxUtil" scope="application">
<param name="class" value="com.xll.ajax.MainViewAjaxUtil" />
</create>


[b]<convert converter="bean"
match="com.xll.Human">
<param name="include" value="name,age"/>
</convert>[/b]

</allow>
</dwr>


加粗部分为需要加入的,其中value是这个Human所包含的属性

这样在页面执行无刷新更新就完成了。

如果有不对的地方请直接指出,学习,学习!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值