在struts2下使用jQuery的Ajax方法的一些心得
来源:互联网 发布:java 量化交易系统 编辑:程序博客网 时间:2024/06/05 19:11
之前做过的一个大中型的web项目,框架都是架构师搭建起来的——标准的s2sh框架。架构师对立面的好多东西做了封装,我们一些“新手”只是在框架的基础的“累代码”,项目做得挺顺利的。也算是按期交付吧。
现在做另一个项目,用到了jQuery的Ajax技术,用于唯一性验证。但是Ajax老是不执行回调函数,最终花了两周才搞定,都是由于之前没有搞懂框架。下面是我解决问题的一些心得。
1.Ajax函数不执行,肯定是Ajax的方法没有写对,诸如url、datatype;
2.Ajax的回调函数不执行(调试中进了Action层),后台报这个错误:Servlet.service() for servlet jsp threw exceptionjava.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils ,首先是看看xwork-2.X.jar包下com.opensymphony.xwork2.util中没有TextUtils.class文件,立刻更换xwork-2.X.jar,让里面含有TextUtils.class文件;
3.如果是自己搭框架,jar有冲突,尤其是struts2、spring、xwork三个的jar,立刻换,让三者兼容;(建议采用低版本的jar包)
4.在Ajax对应的Action层中,不要使用HttpRequest的get、set方法,最好的做法是将httpServletRequest、httpServletResponse的get、set方法写到一个父类中,然后Ajax对应的Action类去继承这个父类,可以避免这个错误的发生:java.lang.IllegalStateException: getInputStream() has already been called for this request 这一条是我自己试出来的结果,至于原因我也说不上。
5.struts2文件中配置Ajax需要继承json-default,一般写法<package name="包名" namespace="/命名空间,可以为空" extends="json-default">,并且在配置返回值是直接写<result type="json"/>即可
6.在对应的Action中的所调用的对应的service的get、set方法上面需要加上@JSON(serialize = false);这一点很重要
7.引入javassist.jar包:Javassist 字节码解释器,不然回报Dispatcher initialization failed……错误
下图是我的部分jar包
以上就是我的一点心得,希望对大家有所帮助。
- 在struts2下使用jQuery的Ajax方法的一些心得
- Ajax在struts2环境下的使用
- struts2+jquery+ajax的使用
- JQuery下的ajax方法使用
- Struts2下使用ExtJs、Jquery等Ajax框架传递XML、JSON的方法
- TeeeView在winform下的一些使用心得
- 关于在Linux下使用tftp的一些心得
- Ajax利用JQuery在Struts2的实现
- jQuery选择器的一些使用心得
- jquery validate 在ajax提交表单下的验证方法
- Struts2对AJax的支持(使用JQuery)
- 使用jquery的ajax方法
- Mac下的一些软件使用心得
- Struts2中,使用JQuery下的AJAX出现的“unexpected token <”错误
- 使用jQuery框架的ajax技术,在Struts2返回json格式的数据
- J2EE下使用AJAX:jsonplugin -- struts2下的AJAX插件
- Jquery ajaxFileUpload的一些心得
- 在struts2+jquery使用AJAX异步提交数据,处理返回的json数据
- Hibernate 多对一连接表单向关联
- c++中的直接初始化与复制初始化
- jQuery中Dom的基本操作
- 使用Varnish+ESI实现静态页面的局部缓存
- ESI是什么
- 在struts2下使用jQuery的Ajax方法的一些心得
- CPU四芯转接头不良引起的无法开机故障
- 不要自称为程序员
- iostat来对linux硬盘IO性能进行了解
- 关于List中FindAll用法的一些简单示例
- web分享功能实现之百度分享
- SQL Server 中的服务器和数据库角色 (ADO.NET)
- 80端口被inetinfo.exe占用解决方法
- Hibernate 一对一连接表单向关联