DWR2.0以上版本支持通过配置Annotation的方式来配置DWR,
可以完全抛弃dwr.xml.
1.和用dwr.xml的配置稍稍有一些不一样。来看看:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>classes</param-name>
<param-value>
com.TestAction,
com.User
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
注意对于内部类的语法标识,要用$符号 。例如
java.util.Map$Entry
而不是 java.util.Map.Entry
2.来看一下远程访问类怎么配置:
package com;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
/**//*
类注解,其中name是非必须的。不加的时候就和类名一样。
*/
@RemoteProxy(name = "test")
public class TestAction
{
/** *//**
* 远程调用的方法都须加上此注解,否则无法调用
* @param a
* @param b
* @return
*/
@RemoteMethod
public int add(int a, int b)
{
return a + b;
}
@RemoteMethod
public int minus(int a, int b)
{
return a - b;
}
@RemoteMethod
public int multiply(int a, int b)
{
return a * b;
}
public int devide(int a, int b)
{
if (b != 0)
return a / b;
return 0;
}
// 测试Bean
@RemoteMethod
public String testName()
{
User user = new User();
user.setUsername("zdw");
return user.getUsername();
}
}
3.再来看看Bean的转换:
package com;
import org.directwebremoting.annotations.DataTransferObject;
import org.directwebremoting.annotations.RemoteProperty;
@DataTransferObject
public class User
{
private Integer id;
private String username;
@RemoteProperty
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
@RemoteProperty
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
}
部署之后,打开调试页,我们将看到:
add(1 , 2 ); 3
multiply(4 ,5 ); 20
minus(1 , 10 ); -9
devide( 1, 1);
(Warning: devide() is excluded: Method access is denied by rules in dwr.xml. See below)
testName( ); "zdw"
我们发现没标注释的devide()方法没法调用。
如果你想通过Spring注入来配置DWR只需加入:
@RemoteProxy(name = "test", creator = SpringCreator.class, creatorParams =
{ @Param(name = "beanName", value = "test") })
对应:
<create javascript="test" creator="spring">
<!-- 其中name是固定值,value是在xml注入的bean -->
<param name="beanName" value="test" />
</create>
creator :默认就是NewCreate了。
ok,基本完成,这样是不是方便多了。~
分享到:
相关推荐
spring使用annotation整合dwr笔记 spring使用annotation整合dwr笔记 spring使用annotation整合dwr笔记
配置整合DWR3.0和Spring2.5使用annotation注解
spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885
将dwr集成到spring mvc(dwr的配置是基于xml)
dwr+spring集成配置 dwr采用annotation自动扫描的方式
Spring的Annotation配置相关讲义
hibernate 以Annotation方式配置在oracle和mysql hibernate,这里面提供了两个小例子,一个是配置跟oracle数据库相关联时的配置方法,一个是配置跟mysql数据库相关联时的配置方法。
annotation插件配置方法与实例,这是sun的apt的注解的高级应用。
Dwr3+Spring3 全注解 annotation 方式实现
Spring基于注释(Annotation)的配置.pdfSpring基于注释(Annotation)的配置.pdfSpring基于注释(Annotation)的配置.pdfSpring基于注释(Annotation)的配置.pdfSpring基于注释(Annotation)的配置.pdfSpring基于...
springmvc + hibernate annotation 配置
spring的annotation-driven配置事务管理器详解 (多数据源配置
spring 使用annotation替代xml配置实例
struts2 使用Annotation配置实现的小例子,转载供大家学习使用,里面包括了所需的jar包
SpringMVC-annotation配置配置配置配置配置配置配置配置配置
参考博文:http://blog.csdn.net/u011638419/article/details/41743049
NULL 博文链接:https://baobeituping.iteye.com/blog/1201798
ssh2框架整合模板。 spring2.5.6,hibernate3.2 基于annotation配置,配置文件内容很少 struts2基于模式匹配,配置文件也很简单。
NULL 博文链接:https://yufengweb.iteye.com/blog/775717