spring、struct、hibernate三大框架整合--扩展一:添加ajax的支持

来源:互联网 发布:提督的决断 知乎 编辑:程序博客网 时间:2024/06/07 13:17

一、     思路:

             JqueryJSON插件与Struts2进行整合,实现局部刷新

二、   引入整合jar包:

              

三、     修改struct.xml文件中package中的extends属性为json-default

             

四、     将实现Ajax方法的返回值的result中的type属性的值赋为json,如:  

             

五、     测试:登陆时输入用户名后提示用户是否可用

1、     jquery-1.4.2.js引人项目中。这里,我在WebRoot中建一名为script包,并在script包中建一名为jquery的包存放jquery-1.4.2

         

2、     修改login.jsp页面

            

       注:从代码中可以看出首先是引人jquery-1.4.2.js。这里介绍一下$.post("researchUser.action",{"user.userName":userName},function(data)post可以看出这是post提交方式,其中第一

         个 参数researchUser.action表示要提交到哪里去,第二个参数用{}表示提交的参数,可以有多个,格式"user.userName":username,多个参数时用逗号隔开,function()中的值data

         是返回得值。

3、    修改struct.xml:即添加action,修改如下

          

4、     UserAction中添加属性flag,并提供settergetter方法(flag类型是boolean,用于判断用户名是否存在),再添加方法researchUser(),代码如下:

          

5、      UserService中添加researchUser()方法,其中调用了UserDao中的researchUser()方法。代码如下:

        

6、      UserDao中添加researchUser()方法,代码如下:

          

7、      测试:

           数据库中数据:

          

          启动tomcat,打开浏览器输入http://localhost:8080/SSH/login.jsp,输入用户名chensr命然后鼠标离开输入区域:输入框下会出现:

         

           如果在输入框把用户改下成aaa,输入框下会出现

         

测试成功!!!!

        扩展:用火狐查看Ajax返回的值,如下:

        

        这时你会发现返回值data中除flag还有useruserService,如果要删除返回值中的useruserService可在userAction中的getUser()getUserService()(该方法可以直接删除,不影响程序)上面添加语句@JSON(serialize=false)即可,再次测试:会发现返回值只有flag

      

  

0 0