关于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="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');
				<%	
				}
				%>
			}

:以上是我自己在项目中用到的


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值