您的位置:首页 > 编程语言 > Java开发

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

2014-03-07 12:47 573 查看
一、     思路:

             Jquery,JSON插件与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,并提供setter和getter方法(flag类型是boolean,用于判断用户名是否存在),再添加方法researchUser(),代码如下:

          


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

        


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

          


7、      测试:

           数据库中数据:

          


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

         


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

         


测试成功!!!!
  
aead
      扩展:用火狐查看Ajax返回的值,如下:

        


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

      


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: