需求:根据输入的用户名前缀获得自动完成的列表
1.确保SSH2能跑起来
2.确保DWR2.0能跑起来
3.jquery autocomplete能跑起来
4.
User服务类:
@Component("userService")
public class UserService
/**
* 根据用户名获得匹配
*/
public List<User> getMatchByPrefix(String prefixUsername) {
List<User> retVal=null;
try {
retVal=userDao.findByLikeUsername(prefixUsername);
} catch (Exception e) {
logger.debug("根据username={}获得User出错", prefixUsername, e);
}
return retVal;
}
5.dwr.xml
<dwr>
<allow>
<create creator="spring" javascript="userService">
<!--Spring中托管的bean名字-->
<param name="beanName" value="userService"/>
<!--方法白名单-->
<include method="getMatchByPrefix" />
</create>
<!--类型转换器-->
<convert converter="hibernate3" match="com.mtea.erp.bean.User">
<!--属性白名单-->
<param name="include" value="username" />
</convert>
</allow>
</dwr>
web.xml
<!--dwr-->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.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>
<!--Struts2 Filter-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/page/*</url-pattern>
</filter-mapping>
6.page
用户名:<input type="text" id="username" name="user.username" value="<s:property value="user.username" />"/>
7.script:
<!-- jquery&ui core lib -->
<script type="text/javascript" src="/js/jquery/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="/js/jquery/jquery-ui-1.8.12.custom.min.js"></script>
<!-- dwr -->
<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/userService.js'></script>
<script type="text/javascript">
$(document).ready(function(){
//文本框不缓存
$.fn.mtea.setInputTxtCache(["#username"],false);
$("#username").keyup(function(){
userService.getMatchByPrefix($(this).val(),function(result){
//遍历,组装结果
var usernameArray=[];
$.each(result,function(i){
usernameArray.push(result[i].username);
//$("#result").append(result[i].username+"-");
});
//自动完成
$("#username").autocomplete({
/*
问题:
->dwr.util.toDescriptiveString(result, 2) 如何使用?
->$符号的冲突股
->source: result,没有效果
*/
source: usernameArray
});
});
});
});
</script>
8.test dwr:
9.最终效果:
10.问题
a.
若出现:
2011-4-30 12:10:05 org.directwebremoting.util.CommonsLoggingOutput error
严重: No converter found for 'com.mtea.erp.bean.User'
则:
<!--类型转换器-->
<convert converter="bean" match="com.mtea.erp.bean.User">
<param name="include" value="username" />
</convert>
b.若出现关于hibernate的问题
则:
不再是converter="bean",而是converter="hibernate3"
- 大小: 5.3 KB
- 大小: 4.7 KB
分享到:
相关推荐
本系统采用经典的SSH(Struts1.2、Hibernate3.0、Spring2)框架与DWR(Direct Web Remoting)技术进行构建,实现了后端与前端的高效交互。 **Struts1.2** 是一款基于MVC(Model-View-Controller)设计模式的Java ...
开发者可以利用SSH框架处理业务逻辑和数据持久化,通过DWR实现实时的前后端交互,再结合EXTJS创建用户友好的界面,完成网页上的添加、删除、修改和查询操作。这对于初学者来说,是一次全面了解Java Web开发流程和...
5. **DWR回调**:当后台服务完成数据获取后,DWR会自动回调前端的JavaScript函数,将数据传递给前端进行渲染。 综上所述,"SSH + dwr 实现三级级联"是一个结合了传统MVC框架和现代Web通信技术的示例,提高了用户...
3. **自动JavaScript生成**:DWR自动生成JavaScript接口,开发者只需关注服务器端的Java代码。 **三、SSH与DWR整合步骤** 1. **添加DWR依赖**:首先,在项目中引入DWR的jar包,并配置web.xml,设置DWR的...
总的来说,这个OA项目实战教程是学习SSH和DWR结合应用的宝贵资源,通过实践,开发者不仅可以巩固SSH框架的使用,还能深入理解DWR在实时Web应用中的优势。同时,对于想要提升自身项目实战能力的IT从业者来说,这是一...
在IT行业中,SSH(Spring、Struts、Hibernate)是一个经典的Java Web开发框架组合,而DWR(Direct Web Remoting)则是一种JavaScript与服务器端交互的技术,常用于实现AJAX功能。本篇主要讨论如何利用SSH框架和DWR来...
总结起来,"网上书店系统SSH+dwr集成开发"项目是一个结合了后端业务逻辑、前端交互体验和数据库管理的综合实践,展示了Java Web开发中的常见技术和最佳实践。通过这样的项目,开发者可以学习到如何有效地组织和协调...
《JAVA开发OA办公自动化管理系统详解:Struts1.2+Hibernate3.0+Spring2+DWR集成实践》 在信息技术日新月异的今天,OA(Office Automation)办公自动化管理系统已经成为企业提升效率、实现信息化管理的重要工具。...
这是一个基于Java技术栈的OA(Office Automation)办公自动化管理系统项目,使用了经典的SSH(Struts、Spring、Hibernate)框架,并结合Direct Web Remoting (DWR) 技术。以下是这个项目涉及的关键知识点详解: 1. ...
4. **生成JavaScript接口**:DWR会根据dwr.xml自动生成JavaScript接口,可以手动刷新,也可以配置为自动刷新。 5. **编写客户端JavaScript**:在HTML页面中,使用DWR生成的接口调用服务器端的方法。 6. **实例应用...
OA办公自动化管理系统是一款基于Java技术的典型企业级应用,它采用了经典的SSH框架组合,即Struts1.2、Hibernate3.0和Spring2。这些框架是Java Web开发中的重要工具,帮助开发者构建高效、可维护的业务逻辑。下面将...
这是一个基于Java技术栈的办公自动化管理系统项目,使用了经典的SSH2框架,即Struts1.2、Hibernate3.0和Spring2,同时结合了DWR(Direct Web Remoting)技术来实现页面与服务器的实时交互。这个项目对于学习Java Web...
本教程通过详细的文档(Spring+Struts+Hibernate+DWR集成教程.doc)指导,涵盖了这四大框架的配置、整合、实例演示等多个方面,旨在帮助开发者深入理解和实践这一经典的技术组合,提升开发技能,打造高效的企业级...
这个项目采用了经典的“SSH2”架构,即Struts1.2、Hibernate3.0和Spring2,以及Direct Web Remoting (DWR) 技术。下面将详细解释这些技术和在OA系统中的作用。 **Struts1.2** 是一个开源的MVC(Model-View-...
【标题】"dwr+ssh2项目整合.zip"所涉及的知识点主要集中在两个核心框架的集成上:Direct Web Remoting (DWR) 和 Spring Security (SSH2,原名为Spring Security的2.x版本)。这两个技术在Java Web开发中用于实现不同...
2. **DWR配置**:学习在web.xml和dwr.xml中设置DWR的相关配置,使DWR能够正常工作。 3. **客户端API**:掌握JavaScript中的DWR API,如何创建和调用远程对象,以及处理异步回调。 4. **服务器端API**:了解如何在...
对于初学者,可以通过搭建简单的SSH+DWR项目来实践上述整合步骤。同时,理解每个框架的核心概念,如Spring的DI和AOP,Struts的MVC,Hibernate的ORM,以及DWR的AJAX调用,对深入学习Java Web开发至关重要。此外,查阅...
**基于SSH制作的自动办公系统**是一个企业级的软件开发项目,主要利用SSH(Struts、Spring、Hibernate)和DWR(Direct Web Remoting)框架技术实现。SSH框架是Java Web开发中的经典组合,提供了强大的模型-视图-控制...
《OA办公自动化管理系统:基于Struts1.2+Hibernate3.0+Spring2+DWR的集成实践》 OA(Office Automation System)办公自动化管理系统是现代企业信息化建设的重要组成部分,它能够有效地提升工作效率,实现信息的高效...
Java OA办公自动化管理系统是一款基于SSH框架(Struts1.2、Hibernate3.0、Spring2)和DWR技术开发的企业级应用,旨在提高办公效率,实现无纸化办公。这个项目不仅提供了完整的源代码,还包含了数据库文件,适用于SQL...