dwr2.0版本的demo
<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>scriptCompressed</param-name>
<param-value>false</param-value>
</init-param>
<!--demo抛异常,加入跨域session安全机制-->
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<!-- 每次新建都需要创建这样一个类,提供调用的javascript文件是DWRUserMessage.js,全局对象名为DWRUserMessage -->
<createcreator="new"javascript="DWRUserMessage">
<!-- 这个js会调用java的哪一个类,一般和js里的那个文件一样(包名.DWRUserMessage),这里我也的不一样也成功了。 -->
<paramname="class"value="com.wang.dao.UserUtil"/>
</create>
<!-- js和java之间的参数互相转换 -->
<convertconverter="bean"match="com.wang.bean.User"></convert>
</allow>
</dwr>
package com.wang.dao;
import com.google.gson.Gson;
import com.wang.bean.User;
public class UserUtil {
public String genUserJson(User tempUser){
if(tempUser == null){
return "空参数";
}
User user = new User();
user.setName(tempUser.getName());
user.setAge(tempUser.getAge());
return new Gson().toJson(user);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>首页</title>
<scripttype="text/javascript"src="dwr/engine.js"></script>
<scripttype="text/javascript"src="dwr/util.js"></script>
<scripttype="text/javascript"src="dwr/interface/DWRUserMessage.js"></script>
<scripttype="text/javascript">
functionUserrollback(data){
if(data){
//拿到java代码返回的json参数,并转化为js对象,然后获取属性并展示到dom对象的innerHTML中
var qq =eval("("+data+")");
console.log(qq+"=="+qq.name +"=="+qq.age);
var ss = document.getElementById("ss");
var ss2 = document.getElementById("ss2");
ss.innerHTML = qq.name;
ss2.innerHTML = qq.age;
}
}
function genAndShowUserMessage(){
console.log('sb');
var param ={};
param.name ="张三";
param.age =18;
console.log(param);
//调用java后端的函数,并传入参数:param对应后端需要的参数,Userrollback代表执行完java代码执行的回调函数。
//我猜的DWR原理就是基于ajax和回调函数执行的。
DWRUserMessage.genUserJson(param,Userrollback);
console.log('pre rollback');
}
</script>
</head>
<body>
<ahref="javascript:void(0)"onclick="genAndShowUserMessage()">点我获取用户信息</a>
<br/>
名称:<spanid="ss"></span>
<br/>
年龄:<spanid="ss2"></span>
</body>
</html>
dwr2.0版本的demo的更多相关文章
- Keras 2.0版本运行
Keras 2.0版本运行demo出错: d:\program\python3\lib\site-packages\ipykernel_launcher.py:8: UserWarning: Upda ...
- JSP的那些事儿(2)---- DWR2.0 的配置和使用
JSP的那些事儿(2)----DWR2.0 的配置和使用 分类: Web开发 JAVA 2009-04-23 15:43 999人阅读 评论(0) 收藏 举报 jspdwrjavascriptserv ...
- 【转】cocos2d-x 2.0版本 自适应屏幕分辨率
http://codingnow.cn/cocos2d-x/975.html 我使用的版本是cocos2d-2.0-x-2.0.4,cocos2dx-2.0版本对多分辨率适配提供了很好的支持,使用起来 ...
- Scala 的 Web 框架 Lift 开始 3.0 版本开发
Scala 的 Web 框架 Lift 开始 3.0 版本开发 http://demo.liftweb.net/ http://liftweb.net/download Lift 框架在不断的成长和改 ...
- ICG_System之全自动代码生成器V2.0版本
大家好! 早在2014年本人就已经利用业余时间开发自己的ICG之代码生成器系统.依靠bootstrap的崛起本人也在不断完善此应用.目的是为了减少开发人员的工作量. 减少不必要的复制粘贴操作,该系统已 ...
- LitepalNewDemo【开源数据库ORM框架-LitePal2.0.0版本的使用】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo使用的是LitePal2.0.0版本,对于旧项目如何升级到2.0.0版本,请阅读<赶快使用LitePal 2.0版本 ...
- GlideDemo【Glide3.7.0版本的简单使用以及圆角功能】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo主要记录Glide3.7.0版本的简单运用和实现圆角方案. 效果图 代码分析 Glide的centerCrop()和fit ...
- Java 基于ArcFace人脸识别2.0 服务端Demo
源代码传送:https://github.com/itboyst/ArcSoftFaceDemo 开发环境准备: ###开发使用到的软件和工具: Jdk8.mysql5.7.libarcsoft_fa ...
- vue的生命周期(又称钩子函数)----以及vue1.0版本与vue2.0版本生命周期的不同
vue生命周期 1. vue1.0版本与vue2.0版本生命周期的不同 vue1.0版本生命周期图示 图1 vue1.0版本生命周期 vue1.0版本的生命周期: init 实例创建之前 creat ...
随机推荐
- webstorm识别 ftl文件
webstorm对freemaker语法是原生支持的,也不需要安装什么插件,你可以直接在webstorm新建个File Types即可 file->settings->file types ...
- 【CTF】某xss练手小游戏
http://test.xss.tv 1.http://47.94.13.75/test/level1.php?name=test 直接插入即可,如: http://47.94.13.75/test/ ...
- 【研究】Struts2-052漏洞
漏洞描述: CVE-2017-9805 2017年9月5日,Apache Struts官方发布最新的安全公告称,Apache Struts 2.5.x的REST插件存在远程代码执行高危漏洞,漏洞编号为 ...
- Macbook使用Gitlab配置SSH Key
git是分布式代码管理工具,远程代码管理是基于ssh的,代码上传大搜gitlab或者github代码仓储时,需要进行ssh配置. 把本地代码上传到服务器时需要加密处理,git中公钥(id_rsa.pu ...
- mysql 数据存储引擎区别
一,存储类型 二 , MyISAM默认存储引擎 MyISAM 管理非事务表.是ISAM 的扩展格式.除了提供ISAM里所没有的索引的字段管理等的大量功能.MyISAM 还使用一种表格锁定的机制.来优化 ...
- linux 命令之重定向
linux 重定向及部分命令 一,重定向讲解: 1> 标准输出重定向 覆盖原有内容 慎用!!!!!! 1>> 标准输出追加重定向 追加内容 2> 错误输出重定向 只输出错误信息 ...
- Beam编程系列之Python SDK Quickstart(官网的推荐步骤)
不多说,直接上干货! https://beam.apache.org/get-started/quickstart-py/ Beam编程系列之Java SDK Quickstart(官网的推荐步骤)
- mongodb随机查询一条记录的正确方法!
关于从mongodb库中随机取出一条记录的方法的博文很多,其中都提到了下面三种方法: 1.skip过随机数量的记录. DBCursor cursor = coll.find(query); int r ...
- 使用awstat分析Nginx的访问日志
在我的上一篇文章<使用 Nginx 提升网站访问速度>中介绍了 Nginx 这个 HTTP 服务器以及如何通过它来加速网站的访问速度.在实际的网站运营中,我们经常需要了解到网站的访问情况, ...
- 面试题 数据库sql
一.建表的结构和数据,在sqlserver直接用就行了 USE [test] GO /****** Object: Table [dbo].[TEACHER] Script Date: 05/16/2 ...