http://blog.csdn.net/geloin/article/details/7537148

基本上与上文描述的情况一致;

在Controller中可以进行Service层的调用;

如果需要返回对象,需要在spring-mvc.xml中进行配置:

<dwr:configuration>
<dwr:convert type="bean" class="com.srie.ljddml.orga.model.client.ClientUser"></dwr:convert>
</dwr:configuration>

springmvc.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd">
<!-- 注册XmlViewResolver,用于iReport & JasperReports报表生成 -->
<bean id="jasperReportResolver" class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="order">
<value>0</value>
</property>
<property name="location">
<value>classpath:jasper-views.xml</value>
</property>
</bean>
<!-- spring mvc 注解驱动 -->
<mvc:annotation-driven />
<!-- 扫描器 -->
<context:component-scan base-package="com.srie.ljddml.controller" />
<!-- 配置视图 解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<!-- 前缀和后缀 -->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- 要求dwr在spring容器中检查拥有@RemoteProxy 和 @RemoteMethod注解的类。注意它不会去检查Spring容器之外的类。 -->
<dwr:annotation-config id="dwr" />
<!-- 要求DWR将util.js和engine.js映射到dwrController -->
<dwr:url-mapping />
<!-- 定义dwr -->
<dwr:controller id="dwrController" debug="true">
<dwr:config-param name="allowScriptTagRemoting" value="true" />
<dwr:config-param name="crossDomainSessionSecurity" value="false" />
</dwr:controller>
<!--设置需要dwr转化的实体类,格式为json传输到jsp页面 -->
<dwr:configuration>
<dwr:convert type="bean" class="com.srie.ljddml.orga.model.client.ClientUser"></dwr:convert>
</dwr:configuration>
<!-- 文件上传配置 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="50000000" />
</bean>
<!-- 从请求和响应读取/编写字符串 -->
<bean id="stringHttpMessage" class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 用于将对象转换为JSON -->
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringHttpMessage" />
<ref bean="jsonConverter" />
</list>
</property>
</bean>
</beans>

controller:

package com.srie.ljddml.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import com.srie.ljddml.ddml.service.DdmlServiceI;
import com.srie.ljddml.orga.model.client.ClientUser;
import com.srie.ljddml.orga.service.OrgaServiceI;
@Controller
@RemoteProxy(name = "directController")
public class DirectController {
@Autowired
OrgaServiceI orgaService;
@Autowired
DdmlServiceI ddmlServiceI;
@RemoteMethod
public String getTest(String a) {
return "test" + a;
}
@RemoteMethod
public List<String> getList(HttpSession session) {
ClientUser user = (ClientUser) session.getAttribute("clientUser");
return orgaService.getUserAuthKeys(user);
}
@RemoteMethod
public ClientUser getUser(HttpSession session) {
ClientUser attribute = (ClientUser) session.getAttribute("clientUser");
return attribute;
}
@RemoteMethod
public List<ClientUser> getUserList(HttpSession session) {
ClientUser attribute = (ClientUser) session.getAttribute("clientUser");
List<ClientUser> list = new ArrayList<ClientUser>();
list.add(attribute);
return list;
}
@RemoteMethod
public Map<String, Object> getMsg(HttpSession session){
ClientUser user = (ClientUser) session.getAttribute("clientUser");
return ddmlServiceI.getMsg(user);
}
}

HTML:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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 'login.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">
<link rel="stylesheet" type="text/css" href="js/b/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/mlbj.css">
<script src="js/b/js/jquery-1.11.1.min.js"></script>
<script src="js/b/js/bootstrap.min.js"></script>
<script src="js/login.js"></script>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/directController.js"></script> </head>
<body class="container-fluid">
<div class="row">
<div class="left_menu col-xs-3 col-sm-3 col-md-2" id='divNavId' style="background:#ffffff;">
<div id='mlSxxx'>----xxx<span ></span>----</div> </div>
<div class="col-xs-9 col-sm-9 col-md-10">
<iframe id="rightIframe" scrolling="no" frameborder="0" src="uri/DdmlTransact.do" style="width:100%;height:99%;"></iframe>
</div>
</div>
</body>
</html>

js:

/**
* 页面加载之后执行的函数;
*/
$(function() {
loadMLAuths();
divMlSearchClick();
keepSession();
setInterval("getMsg()", 60000);
});
/**
* 全局变量定义部分;
*/
var i = 0;
/**
* 事件编写部分;
*/
// 加载消息函数
function getMsg() {
directController.getMsg(function(data) {
$.each(data, function(i, n) {
$("#" + i +" span").text(n);
});
});
}
/**
* 进行会话保持;
*/
function keepSession() {
window.setInterval("$.getJSON('orga/mlbj.do');", 120000);
}

Spring MVC整合DWR的更多相关文章

  1. Spring与Struts2整合VS Spring与Spring MVC整合

    Spring与Struts2整合,struts.xml在src目录下 1.在web.xml配置监听器 web.xml <!-- 配置Spring的用于初始化ApplicationContext的 ...

  2. spring MVC 整合mongodb

    Spring Mongodb 目录 1 SPRING整合MONGODB 1 1.1 环境准备 1 1.2 包依赖 1 1.3 配置 2 2 案列 5 2.1 SPRING MVC整合MONGODB代码 ...

  3. MyBatis+Spring+Spring MVC整合开发

    MyBatis+Spring+Spring MVC整合开发课程观看地址:http://www.xuetuwuyou.com/course/65课程出自学途无忧网:http://www.xuetuwuy ...

  4. 【RabbitMQ系列】 Spring mvc整合RabbitMQ

    一.linux下安装rabbitmq 1.安装erlang环境 wget http://erlang.org/download/otp_src_18.2.1.tar.gz tar xvfz otp_s ...

  5. Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例

    Java基础-SSM之Spring和Mybatis以及Spring MVC整合案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,详细你已经有一定的Java ...

  6. spring mvc整合mybaitis和log4j

    在上一篇博客中,我介绍了在mac os上用idea搭建spring mvc的maven工程,但是一个完整的项目肯定需要数据库和日志管理,下面我就介绍下spring mvc整合mybatis和log4j ...

  7. Spring MVC 整合Swagger的一些问题总结

    在做Spring MVC 整合swagger的时候,遇到的两个问题: 第一个问题 在网上找了一些Spring MVC 和Swagger的例子,照着一步步的配置,结果,到最后,项目都起来了,没有任何问题 ...

  8. 【Java Web开发学习】Spring MVC整合WebSocket通信

    Spring MVC整合WebSocket通信 目录 ========================================================================= ...

  9. MQTT 3 ——MQTT与Spring Mvc整合

    本篇记录一下MQTT客户端与Spring Mvc整合   网络上已经有很多的MQTT客户端与SpringBoot整合的技术文档,但是与Spring Mvc框架的整合文档似乎并不太多,可能是因为Spri ...

随机推荐

  1. js 编码问题

    //字符转换为UTF-8编码 function encutf8(s1) { var stringArray = new Array(); for(var j=0; j<s1.length;j++ ...

  2. oracle 主键自动增长

    oracle 主键自动增长 2009-12-11 16:07:00|  分类: 数据库资料|字号 订阅     这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create tabl ...

  3. Mybatis 示例之 Association - 偶尔记一下 - 博客频道 - CSDN.NET

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  4. 浅谈mysql主从复制的高可用解决方案

    1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID" ...

  5. LAMP优化

    LAMP系统优化是非常必要的,一个好的优化能使系统运作的越快,从而提高工作效率,下面我将从几方面给大家详细介绍下LAMP系统优化的内容. 一.硬件优化 1.升级硬件的一般规则:对于 PHP 脚本而言, ...

  6. jquery.mustache.js使用

    作者:zccst jquery.mustache是用jQuery做了一层封装,提供了以下几个方法,让模板使用更便捷. 1,添加模板,使用异步的方式 var viewData = { name: 'Jo ...

  7. salt自动化部署

    1. 到编译机器编译 /export/Deploy/vm-agent 执行脚本 ./vm-agent.sh develop -alpha 2.检查rpm包是否打包成功 http://172.18.13 ...

  8. STM8时钟系统详解

    就我个人看来,研究一块单片机,分为新手和老手两种模式,新人迫切的想先用,你得告诉他们怎么样最快的写出一个能跑起来的程序,告诉他们每一个外设的使用方式,老手不同,用的单片机多了外设对于他们而言没太多好奇 ...

  9. 最基本的SQL语法/语句

    DDL—数据定义语言(Create,Alter,Drop,DECLARE) DML—数据操纵语言(Select,Delete,Update,Insert) DCL—数据控制语言(GRANT,REVOK ...

  10. 递归添加 另一个ds 里的DataRow 时 报错:该行已经属于另一个表。

    public void create_tree(DataSet ds, int parentid)        { DataSet newds = new DataSet();            ...