web.xml:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.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.exjour.bean.people.UserBean,
com.exjour.bean.layer.WmsLayerBean,
com.exjour.web.handler.people.UserHandler,
com.exjour.web.handler.layer.WmsLayerHandler
</param-value>
</init-param>
</servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.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.exjour.bean.people.UserBean,
com.exjour.bean.layer.WmsLayerBean,
com.exjour.web.handler.people.UserHandler,
com.exjour.web.handler.layer.WmsLayerHandler
</param-value>
</init-param>
</servlet>
WmsLayerHandler.java:
1package com.exjour.web.handler.layer;
2
3import java.util.List;
4
5import org.directwebremoting.annotations.Param;
6import org.directwebremoting.annotations.RemoteMethod;
7import org.directwebremoting.annotations.RemoteProxy;
8import org.directwebremoting.spring.SpringCreator;
9
10import com.exjour.bean.layer.WmsLayerBean;
11import com.exjour.service.layer.WmsLayerService;
12import com.exjour.web.handler.BaseHandler;
13
14@RemoteProxy(creator = SpringCreator.class,
15 creatorParams = @Param(name = "beanName", value = "wmsLayerHandler"))
16public class WmsLayerHandler extends BaseHandler {
17
18 private WmsLayerService wmsLayerService;
19
20 public WmsLayerService getWmsLayerService() {
21 return wmsLayerService;
22 }
23
24 public void setWmsLayerService(WmsLayerService wmsLayerService) {
25 this.wmsLayerService = wmsLayerService;
26 }
27
28 @RemoteMethod
29 public List<WmsLayerBean> getWmsLayerList() {
30 return wmsLayerService.getWmsLayerList();
31 }
32}
33
其中绿色部分为Annotations,红色部分表示使用SpringCreator,粉色部分表示使用applicationContext中的"wmsLayerHandler" bean.2
3import java.util.List;
4
5import org.directwebremoting.annotations.Param;
6import org.directwebremoting.annotations.RemoteMethod;
7import org.directwebremoting.annotations.RemoteProxy;
8import org.directwebremoting.spring.SpringCreator;
9
10import com.exjour.bean.layer.WmsLayerBean;
11import com.exjour.service.layer.WmsLayerService;
12import com.exjour.web.handler.BaseHandler;
13
14@RemoteProxy(creator = SpringCreator.class,
15 creatorParams = @Param(name = "beanName", value = "wmsLayerHandler"))
16public class WmsLayerHandler extends BaseHandler {
17
18 private WmsLayerService wmsLayerService;
19
20 public WmsLayerService getWmsLayerService() {
21 return wmsLayerService;
22 }
23
24 public void setWmsLayerService(WmsLayerService wmsLayerService) {
25 this.wmsLayerService = wmsLayerService;
26 }
27
28 @RemoteMethod
29 public List<WmsLayerBean> getWmsLayerList() {
30 return wmsLayerService.getWmsLayerList();
31 }
32}
33
WmsLayerBean.java:
package com.exjour.bean.layer;
import org.directwebremoting.annotations.DataTransferObject;
import org.directwebremoting.annotations.RemoteProperty;
@DataTransferObject
public class WmsLayerBean {
private int id;
private String name;
private boolean defaultVisiable;
private String layers;
private int state;
@RemoteProperty
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@RemoteProperty
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@RemoteProperty
public boolean isDefaultVisiable() {
return defaultVisiable;
}
public void setDefaultVisiable(boolean defaultVisiable) {
this.defaultVisiable = defaultVisiable;
}
@RemoteProperty
public String getLayers() {
return layers;
}
public void setLayers(String layers) {
this.layers = layers;
}
@RemoteProperty
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
}
import org.directwebremoting.annotations.DataTransferObject;
import org.directwebremoting.annotations.RemoteProperty;
@DataTransferObject
public class WmsLayerBean {
private int id;
private String name;
private boolean defaultVisiable;
private String layers;
private int state;
@RemoteProperty
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@RemoteProperty
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@RemoteProperty
public boolean isDefaultVisiable() {
return defaultVisiable;
}
public void setDefaultVisiable(boolean defaultVisiable) {
this.defaultVisiable = defaultVisiable;
}
@RemoteProperty
public String getLayers() {
return layers;
}
public void setLayers(String layers) {
this.layers = layers;
}
@RemoteProperty
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
}