Struts2+Spring2+Hibernate3框架中JQuery ajax的实现

本文主要是介绍Struts2+Spring2+Hibernate3框架中JQuery ajax的实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在做一个项目,算是边写边学一些东西吧。把struts2+spring2+hibernate3的框架搭好跑通之后,遇到了要做用户名验证,想到要用Ajax来做。以前都是自己手写的,这次就想试试看用组件来做,网上看了看现在主流的ajax组件主要有ext、dwr、jquery。试了下用dwr,感觉蛮简单的,但是在询问了同事之后,说是dwr只是ajax组件,而且据说曾经遇到过bug,推荐我用jquery。网上看了一下jquery的东西,虽说要颠覆一些自己平时js的编码习惯,但是这个东西确实是不错,研究了一个晚上总算把jquery ajax在MVC框架中给配好了,不容易啊,呵呵,以下为相关代码(只写出关键部分,需要完整source的可以E-mail给我) 

register.jsp 用于注册的页面 由这个页面发起ajax 也是最关键的页面 
Java代码   收藏代码
  1. $(document).ready(function(){  
  2.     //当userid控件失去焦点时  
  3.     $("#stUserId").blur(function(){  
  4.         var stUserId=$("#stUserId");  
  5.         //启动jquery的ajax  
  6.         $.ajax({  
  7.             //以get方式ajax  
  8.             type: "get",  
  9.             //ajax的地址 这里我用的是一个action 配置请看下面的struts配置  
  10.             url: "ajaxUserId",  
  11.             //发送给ajax的值 以key:value方式存储 最终为拼接到url的后面  
  12.             data: {stUserId:stUserId.val()},  
  13.             //这里有一个关键的地方 是否使用缓存中数据进行提交,默认为true  
  14.             //如果是true的话 如果你之前提交过stUserId=test,那么以后当  
  15.               //你的stUserId=test的时候就不会触发ajax了  
  16.             cache: false,  
  17.             //当调用成功时 data是返回的值 textStatus是状态(成功或失败)  
  18.             success: function(data, textStatus){  
  19.                 alert(data);  
  20.             }  
  21.         });  
  22.     });  
  23. });  


发生ajax之后会通过struts寻找action 
struts.xml 
Java代码   收藏代码
  1. //action的name就是上张页面中ajax的url  
  2. //去寻找spring中的id为registAction的bean 并调用它的java类中ajaxUserId()方法  
  3. <action name="ajaxUserId" class="registAction" method="ajaxUserId">  
  4.     //将返回值发送到以下页面  
  5.     <result>/sysUser/ajaxUser.jsp</result>  
  6. </action>  


spring.xml 
Java代码   收藏代码
  1. //等于是去找SysUserBasicImpl类中的ajaxUserId()方法  
  2. <bean id="registAction" class="com.myweb.action.SysUserBasicImpl" scope="prototype">  
  3.     <property name="sysUserBasicDAO">  
  4.         <ref local="SysUserBasicDAO"/>  
  5.     </property>  
  6. </bean>  


SysUserBasicImpl.java 
Java代码   收藏代码
  1. //用于得到ajax传过来的stUserId参数  
  2. private String stUserId;  
  3. //返回值是一个boolean值 显示是否存在该userid  
  4. private boolean isExist;  
  5.   
  6. //让ajaxUser.jsp页面可以得到返回值isExist  
  7. public boolean getIsExist(){  
  8.     return isExist;  
  9. }  
  10.   
  11. //让spring将stUserId值注射进来  
  12. public void setStUserId(String stUserId) {  
  13.     this.stUserId = stUserId;  
  14. }  
  15.   
  16. //ajax调用的方法  
  17. public String ajaxUserId(){  
  18.     List list=sysUserBasicDAO.getHibernateTemplate().find(" from SysUserBasic where ST_USER_ID=?",stUserId);  
  19.     isExist = (list.size()>0);  
  20.     return SUCCESS;  
  21. }  


ajaxUser.jsp 用于得到返回值 
Java代码   收藏代码
  1. //使用struts标签  
  2. <%@ taglib uri="/struts-tags" prefix="s" %>  
  3. //将返回值输出出来 让ajax发出页面可以得到这个页面的值  
  4. <s:property value="isExist"/>  

这篇关于Struts2+Spring2+Hibernate3框架中JQuery ajax的实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/708188

相关文章

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

golang版本升级如何实现

《golang版本升级如何实现》:本文主要介绍golang版本升级如何实现问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录golanwww.chinasem.cng版本升级linux上golang版本升级删除golang旧版本安装golang最新版本总结gola

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU