struts2 + jquery + json 进行ajax请求

来源:互联网 发布:windows自带游戏有哪些 编辑:程序博客网 时间:2024/05/17 23:22

  项目中想用ajax,于是在网上扒了n多资料,犯了n多错误,从今天上班到现在一直在处理这个问题,终于还是把它解决了。

 

当我看到页面的ajax显示后,我兴奋异常,为了记录自己学习的ajax历程,也为了让更多的人少走弯路,特写此一文以记之!

 

废话不说了,为了更好的理解,我重做了一个小的项目,以加深印象。现在就以这个小项目开始我们的ajax之旅。

 

第一步:创建 名为"ajax" 的 Java Web项目。

 

第二步:加入struts2的jar包,这里需要四个包 freemarker.jar  ognl.jar  struts2-core.jar  commons-fileupload.jar  commons-io.jar   xwork-core-2.1.6.jar(这个包加上版本号,是因为下文要提到它),这六个包是struts必须依赖的jar包,什么好说的。

 

第三步:修改 web.xml 加入 struts的过滤器,代码如下:

 

 第四步:加入json的包,这里需要两个:json-lib.jar  jsonplugin.jar 这里要注意很重要的一点,因为json大量引用了Apache commons的包,所以这里要一并加入,需要的commons包共4个,除了commons的包外,还需要引入一个 ezmorph的包,所以这一步一共要引入7个包,列出如下:commons-collections.jar  commons-lang.jar  commons-beanutils.jar  commons-logging.jar  ezmorph.jar 再加上json的两个包共七个,一次性加入。

 

第五步:写后台处理AjaxLoginAction.action,内容如下:

 

 

 第六步:写前台index.jsp,注意加入 jqueryjs文件 内容如下:

 

 第七步:在src目录下加入struts.xml,并配置相应的xml文件,为ajax请求提供数据。代码如下:

第八步:如果第四步没有加入commons-logging.jar包,这里要记得加入

 

第九步:发布运行。很不幸,你会发现一个错误,

java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils:

这是struts的版本错误,因为用的xwork2.1.6-core.jar中不存在TextUtils类,这里把 xwork2.1.2-core.jar也加到classpath中,xwork2.1.2-core.jar中包含这个东西,我们用的是xwork2.1.6的jar,当要用到TextUtils时,就去xwork2.1.2-core.jar中找。