您的位置:首页 > Web前端 > JavaScript

dwr3.0 注解

2011-10-08 00:00 302 查看
项目所需jar包
commons-logging-1.1.1.jar
dwr3.0.jar

DwrModel.java
package com.medbri.model;

import org.directwebremoting.annotations.DataTransferObject;
import org.directwebremoting.annotations.RemoteProperty;

@DataTransferObject
public class DwrModel {
@RemoteProperty
private String id;
@RemoteProperty
private String userName;
@RemoteProperty
private String passWrod;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public String getPassWrod() {
return passWrod;
}

public void setPassWrod(String passWrod) {
this.passWrod = passWrod;
}
}

DwrAppp.java

package com.medbri.service;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;

import com.medbri.model.DwrModel;

@RemoteProxy
public class DwrAppp {
Logger logger = Logger.getLogger(DwrAppp.class);

@RemoteMethod
public String getStri(String str) {
logger.info("测试成功");
return str;
}

@RemoteMethod
public List<DwrModel> getDwrModelAll() {
logger.info("集合测试成功");
List<DwrModel> models = new ArrayList<DwrModel>();
DwrModel model = new DwrModel();
model.setId("1");
model.setUserName("di");
model.setPassWrod("123456");
DwrModel model1 = new DwrModel();
model1.setId("2");
model1.setUserName("m");
model1.setPassWrod("123");
models.add(model);
models.add(model1);
return models;
}

@RemoteMethod
public DwrModel getDwrModel() {
logger.info("对象测试成功");
DwrModel model = new DwrModel();
model.setId("1");
model.setUserName("dsi");
model.setPassWrod("123456");
return model;
}

}

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type='text/javascript' src='/MedbriDwrApp/dwr/interface/DwrAppp.js'></script>
<script type='text/javascript' src='/MedbriDwrApp/dwr/engine.js'></script>
<script type='text/javascript' src='/MedbriDwrApp/dwr/util.js'></script>
<script type="text/javascript">
function getAlluser() {
DwrAppp.getDwrModelAll(proAlluserCallback);
}

function proAlluserCallback(data) {
for (i = 0; i < data.length; i++) {
alert("us:=" + data[i].userName + "\n" + "pw:=" + data[i].passWrod
+ "\n userId:=" + data[i].id);
}
}
function getStri() {
var name = dwr.util.getValue("str")//获取id元素
DwrAppp.getStri(name, getStrCallback);
}

var getStrCallback = function(data) {
//data是Java返回的结果
alert(data);
dwr.util.setValue("strcall", data);//把返回结果赋值给元素
}

function getDwrModel(){
DwrAppp.getDwrModel(getDwrModelCallback);
}
function getDwrModelCallback(data){
alert("us:=" + data.userName + "\n" + "pw:=" + data.passWrod
+ "\n userId:=" + data.id);
}
</script>
</head>
<body>
测试带参数的方法调用
<input type="text" name="str" value="" onblur="getStri()">
<input type="text" name="strcall" value="">
<br>
测试获取一个集合
<input type="button" name="getall" value="获取一个集合"
onclick="getAlluser()"><br>
测试获取一个对象
<input type="button" name="getmodel" value="获取一个对象"
onclick="getDwrModel()">
<br>
</body>
</html>

web.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>
<description>dwr-invoker</description>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<param-value>
<!--此处是关键用了dwr的注解如果没到这里部署dwr无法正常使用-->
<init-param>
<param-name>classes</param-name>

com.medbri.service.DwrAppp,com.medbri.model.DwrModel</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dwr java javascript web