江巅 2010-01-24
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEdwrPUBLIC
"-//GetAheadLimited//DTDDirectWebRemoting2.0//EN"
"http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<createcreator="spring"javascript="MyName">
<paramname="beanName"value="loginBiz"/>
<includemethod="check"/>
</create>
</allow>
</dwr>
creator属性是必须的-它用来指定使用那种创造器。
new:用Java的new关键字创造对象。
none:它不创建对象,看下面的原因。(v1.1+)
scripted:通过BSF使用脚本语言创建对象,例如BeanShell或Groovy。
spring:通过Spring框架访问Bean。
jsf:使用JSF的Bean。(v1.1+)
struts:使用Struts的FormBean。(v1.1+)
pageflow:访问Beehive或Weblogic的PageFlow。(v1.1+)
javascript属性用于指定浏览器中这个被创造出来的对象的名字。你不能使用Javascript的关键字。
scope属性非常类似servlet规范中的scope。它允许你指定这个bean在什么生命范围。选项有"application","session","request"和"page"。这些值对于Servlet和JSP开发者来说应该相当熟悉了。
scope属性是可选的。默认是"page"。如果要使用"session"需要cookies。当前的DWR不支持ULR重写。
param元素被用来指定创造器的其他参数,每种构造器各有不同。例如,"new"创造器需要知道要创建的对象类型是什么。每一个创造器的参数在各自的文档中能找到。请查看上面的链接。
include和exclude元素允许创造器来限制类中方法的访问。一个创造器必须指定include列表或exclude列表之一。如果是include列表则暗示默认的访问策略是"拒绝";如果是exclude列表则暗示默认的访问策略是"允许"。
web.xml加入Spring的监听器
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Application.xml配置名为loginBiz的Bean.
loginBiz中创建一个Check()方法。
页面添加JS代码
<scripttype="text/javascript"src="dwr/interface/MyName.js"></script>
<scripttype="text/javascript"src="dwr/engine.js"></script>
<scripttype="text/javascript"src="dwr/util.js"></script>
<scripttype="text/javascript">
functionnamecheck(obj)
{
varname=obj.value;
MyName.check(name,rollback);
}
functionrollback(exist)
{
if(exist==1)
{
alert("用户可以登陆");
}
else
{
alert("用户不存在,不可以用来登陆");
}
}
</script>
<html:textproperty="user.uname"onblur="namecheck(this)"/>