dwr的简单使用

摘要:
项目中使用了DWR,因此我简单地学习了以下内容:单击页面上的按钮,弹出一个窗口,显示登录用户的基本信息。DOCTYPEdwrPUBLIC“-//GetAheadLimited//DTDDirectWebRemoting1.0//EN”http://directwebremoting.org/schema/dwr10.dtd“>4.在jsp页面中引入相关的js:注意,双引号引入的js是虚拟的,对应于dwr.xml中的javascript属性,而单引号引入的js封装在dwr.jar包中。--dwrend-->5.jsp调用js,这与普通的js函数相同:调用函数。

项目中使用到了dwr,所以就简单的学习了一下下:在页面点击按钮弹出窗口显示登陆用户基本信息。

1.导入dwr.jar到项目的lib包中。

2.配置web.xml文件:在web.xml中添加添加Servlet映射。

<servlet>
  <display-name>DWR Servlet</display-name>
  <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>logLevel</param-name>
    <param-value>DEBUG</param-value>
  </init-param>
</servlet>

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

3.添加来配置dwr.xml文件:注意dwr文件和web.xml保持在同一目录下,create是函数调用相关参数和方法(反射),convert是返回的封装对象(如User)。

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" 
    "http://directwebremoting.org/schema/dwr10.dtd" >
<dwr>
  <init>
  	<converter    />
  </init>

  <allow>
    <create creator="new" javascript="LoginUserInfo">
		<param name="class" value="com.wl.manager.dwr.LoginUserInfo"/>
		<include method="showLoginUserInfo"/>
		<include method="showString"/>
    </create>
	<convert match="com.wl.common.dto.User" converter="bean"></convert>
  </allow>
</dwr>

4.在jsp页面引入相关js:注意,双引号引入的js是虚拟的,和dwr.xml中的javascript属性相对应(所以页面使用dwr.xml中对应的映射时,就需要引入这种虚拟js,建议在单个页面使用就引入),而单引号引入的js是在dwr.jar包中封装存在的(建议在页面头部、菜单部分、尾部等页面统一引入)。

<!-- dwr start ok! -->
<script type="text/javascript" src="http://t.zoukankan.com/dwr/interface/LoginUserInfo.js"> </script>
<script type='text/javascript' src='http://t.zoukankan.com/dwr/engine.js'></script>
<script type='text/javascript' src='http://t.zoukankan.com/dwr/util.js'></script>
<!-- dwr end -->

5.jsp调用js,和普通js函数一致:调用函数。

onclick="dodwr(${Session.userid})"

6.相关js:其中function(data){*}是回调函数,data是后台方法函数返回的数据,可以是String,封装对象(如User对象),List,Map,本例中是返回封装对象.

function dodwr(uid){
  LoginUserInfo.showLoginUserInfo(uid, function(data) {
    $("#login_user_name").val(data.userName);
    $("#login_user_password").val(data.passWord);
    $("#login_user_status").val(userStatus2(data.userStatus));
    $("#login_user_createTime").val(data.creatTime);
  });
});

7.后台方法:对象User不在叙述,仅给出查询方法。

package com.wl.manager.dwr;


import java.sql.SQLException;

import com.wl.common.dao.UserDao;
import com.wl.common.dto.User;

public class LoginUserInfo{

	public String showString (){
		System.out.println("zhe shi yi ge ceshi!");
		return "zheshi ygie ceshi ";
	}
	
	public User showLoginUserInfo(int uid) throws SQLException {
		User u = new UserDao().getById(uid);
		System.out.println(u.getUserName());
		System.out.println(u.getPassWord());
		return u;
	}
	
}

  

免责声明:文章转载自《dwr的简单使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇暴力破解原理与过程详解phonegap学习入门下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

echarts使用技巧(一)echarts的图表自适应resize问题、单选、缩放等

因此,当浏览器发生调整大小事件时,让它触发rechart调整大小事件来重新绘制画布。使用窗口。resize=myChart resize;通过将窗口的调整大小事件分配给回声调整大小事件,可以实现自适应。当然,这是单一图表的情况。如果有多个图表,它将无法工作。...

前端er们如何最快开发h5移动端页面?

因此,它总结了移动终端H5最快发展的最佳方案。web移动终端的发展应注重简化,以满足基本业务需求,设计应尽可能扁平化。前视图层angularjs或react作为框架,node作为中间层,js处理从后端接口获取的数据并操作渲染模板文件,这相当于在MVC中完成控制器层的工作。底层是数据库和后端。...

解决xcode打开时loading假死的问题

出现这个问题就真得崩溃了,有些小伙伴甚至还重装了Xcode,这里给大家推荐一个行之有效的方法。...

css设置文字多余部分显示省略号

如果只显示一行,则可以使用以下方法:  overflow:hidden;  text-overflow:ellipsis;  white-space:nowrap;如果需要显示多行,在需要设置的元素style中添加以下代码:  word-break:break-all;  text-overflow:ellipsis;  display:-webkit-bo...

k8s集群上删除pod及service

删除k8s集群中的pod:找到pod的名称空间,并根据名称空间删除pod1。首先删除pod2,然后删除相应的部署。否则,删除pod是无用的。您还将看到pod,因为deployment.yaml文件中定义的副本数如下:delete the pod[root@test2~]#kubectlgetpod-njenkinsNAMEREADYSTATUSRESTART...

"SQLserver 事务日志已满"解决方法

如果不够,备份后换个地方存[注:tempdb你数据库名称。...