加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

DWR框架总结

发布时间:2020-12-16 00:51:06 所属栏目:百科 来源:网络整理
导读:学习dwr框架的总结。 现在是下午16:30分,嘿嘿,还有一个小时就下班罗~~ 在这里吐槽下这家XX公司。哎比我上家OO公司更惨。我记得上家OO公司只是限制了QQ,而这家公司把外网都给限制了。蛋痛啊,尤其对于我这种菜鸟级别的。很多东西不懂就得Google啊~哎~~ 不

学习dwr框架的总结。

现在是下午16:30分,嘿嘿,还有一个小时就下班罗~~ 在这里吐槽下这家XX公司。哎比我上家OO公司更惨。我记得上家OO公司只是限制了QQ,而这家公司把外网都给限制了。蛋痛啊,尤其对于我这种菜鸟级别的。很多东西不懂就得Google啊~哎~~
不说了写写总结吧,个人认为dwr是一个利用javascript来控制前后台数据异步交互的框架,之前我是没接触过, 应为公司可能要用我就抽时间来学习学习。

首先呢:需要导入一个dwr.jar包 ,如果是2.0的最好导入一个commons-logging-1.0.4.jar,否则就会报一个找不到类异常。

A) 我们来创建一个类:
public class UserService {
//存放数据
private static Map dataMap = new HashMap();

public boolean save(User user){

if(dataMap.containsKey(user.getId()))
return false;
System.out.println("下面开始保存用户");
System.out.println("password:"+user.getPassword());
System.out.println("name:"+user.getName());
System.out.println("email:"+user.getEmail());
dataMap.put(user.getId(),user);
System.out.println("用户保存结束");
return true;
}
}
B) 创建一个javabean用于数据转换:
public class User {
private String id;
private String name;
private String password;
private String email;
getset....
}

C) 在WEB-INF下的web.xml配置如下:

<servlet>
<description>Direct Web Remoter Servlet</description>
<display-name>DWR Servlet</display-name>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>

</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

D) 再创建一个dwr.xml文件,配置如下:
<dwr>
<allow>
//js中根据 UserService这个名字来调用java中的方法。
<create creator="new" javascript="UserService">
<param name="class" value="com.kit.service.UserService"></param>
</create>
//告诉DWR在服务器端Java 对象表示和序列化的JavaScript之间如何转换数据类型。比如data.xxx就能取到了
<convert match="com.kit.service.User" converter="bean"></convert>
</allow>

</dwr>

E) jsp代码如下:
<html>
<head>
<base href="<%=basePath%>">

<!-- 这两个文件是必须有的 -->
<script type='text/javascript' src='<%=path%>/dwr/engine.js'> </script>
<script type='text/javascript' src='<%=path %>/dwr/util.js'> </script>
<!-- 调用 必须要写 否则它会报你的方法未定义() -->
<script type='text/javascript' src='<%=path %>/dwr/interface/UserService.js'> </script>

<script>

function saveFun(data) {
if (data) {
alert("注册成功!");
} else {
alert("登陆已经存在!");
}
}
function OnSave(){
var userMap ={};
userMap.id = regForm.id.value;
userMap.password = regForm.password.value;
userMap.name = regForm.name.value;
userMap.email = regForm.email.value;
//调用java方法 .save(参数,会返回一个结果集);
UserService.save(userMap,saveFun);
}

</script>
</head>

<body>
<input type="button" value="提交" onclick="val();"/>
<form name="regForm">
<br>登陆ID:<input type="text" name="id"/><br/>
口令:<input type="text" name="password"/><br/>
姓名:<input type="text" name="name"/><br/>
电子邮件:<input type="text" name="email"/><br/>
<input type="button" name="submitBtn" value="提交" onclick="OnSave();">

</form>

</body>
</html>

那么像list集合我们该怎么来遍历呢?
function val(){
UserDao.UserQuery(function(data){

for(var i=0;i<data.length;i++){
alert(data.name);

}
那么像map又该怎么遍历呢?


for(var key in data){

//根据key那value值。

var bean =data[key]; alert(bean.name); } 那在js中怎么把它转成javabean呢? function OnSave(){ //把它组成一个键值对的形式。必须和实体类属性一致。 var rmap ={sname:"你好 啊",sid:"sid",spass:"spass"}; UserService.save(rmap,function(data){}); }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读