码迷,mamicode.com
首页 > 编程语言 > 详细

关于java --DWR

时间:2014-11-05 13:05:18      阅读:266      评论:0      收藏:0      [点我收藏+]

标签: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="adjBudgetModel" />
        </create>  
  <!-- 将他作为一个对象返回,传给客户端 -->
        <convert match="com.xx.xx.budget.domain.AdjBudgetPlanInfo" converter="bean">
	       	<param name="include" value="bpiId,bpiName,bpiIsRoot,hasChildren,bpiCreateDate,bpscid,bacId,proId,bpiLevel"></param>
	    </convert>  
	    <convert match="java.lang.Exception" converter="exception">
	    	<param name='include' value='message' />
	    </convert>
	</allow>
</dwr>
5、在jsp页面中的使用

首先在你的jsp页面上引入,这个引入的名字是刚才xml文件中配置的那个名字

    <script type="text/javascript" src="<%=path%>/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

标签:dwr

原文地址:http://blog.csdn.net/u013806366/article/details/40819183

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!