`
zsjg13
  • 浏览: 138571 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

DWR Creators、Filters、Signatures

    博客分类:
  • dwr
阅读更多

    Creators 用于实例化服务端的远程对象。

    Filters 用于拦截对远程对象的调用。这可以发生在调用之前与之后。这可以用于 日志、安全、参数检查,甚至对DWR调用增加额外的延迟。

public class NotifyRestrictedAccessFilter {

    public Object doFilter(Object obj, Method method, Object[] params, AjaxFilterChain chain) throws Exception {

    //if params include monitored sentence

    //then send mail to security officials

    … code here …  

    return chain.doFilter(obj, method, params);

}

}

 

dwr.xml 中的配置:

<allow>

<create creator="new" javascript="GetAreaDetails">

    <param name="class" value="org.area.NumberedArea"/>

    <filter class="org.filters.NotifyRestrictedAccessFilter"/>

</create>

  ...

</allow>

    dwr.xml 中 指定了 Signatures,它们被用来告诉DWR正确地处理集合框架中的那些类型,例如 java.util.List。如果我们有一个远程方法,它的签名是 void setAddresses(List address),DWR是没有办法知道List中的元素类型是String的,所以,这是就需要在dwr.xml中加上这么一句:

<signatures>

  <![CDATA[

import java.util.List;

import myclasses.AllAddresses;

AllAddresses.setAddresses(List<String> allAddresses);

  ]]>

</signatures>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics