1.

Class not Found Exception 异常.


---->解决方法:


在lib中加入两个jar包(spring.jar与struts2-  spring-plugin-2.1.8.1.jar);



2.

使用hql语句时出现java.lang.reflect.InvocationTargetException(即使用hql回调函数带参数时) 或者是antlr.collections.AST.getLine()I异常 


---->解决方法:(


antlr.collections.AST.getLine()I异常 


我用的myeclipse8.6, 装在 D:\MyEclipse8.6\,SSH组合完成后,执行hibernate的HQL查询时,报错:


java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
看来是antlr这个语法解析包出错
因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,


故要删除前一个低版本的,, struts1.3 和2.1都带有antlr-2.7.2.jar ,下面我要把 
它们都清除了,由于myeclipse 添加的struts性能不是放在工程lib下的,而是myeclipse自带的,


所以删除比较麻烦,,我觉得最简单的做法应该是这样:
D:\MyEclipse8.6\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles 下搜索antlr-2.7.2.jar
完成后能看到的,都删除掉,,(可能有些是在1.3下面的,有些是在2.1下面的)
然后在 D:\MyEclipse8.6\Common\plugins 搜索 *struts*.jar 会发现,出来三个
选中 一个文件,,打开方式选择压缩包,,我的winRAR的,
com.genuitec.eclipse.cross.easystruts.eclipse_8.6.0.me201007231647.jar 在lib下
和data\1.3下要删除antlr-2.7.2.jar(这个是删除1.3里面的)


而再打开 com.genuitec.eclipse.struts2_8.6.0.me201007292038.jar data\2.1\core 下
删除antlr-2.7.2.jar (这个是2.1里面的)
好了,,这个就从struts1.3和2.1中移除了,,因为这两个jar是common目录下的,所以删除了后,
再运行myeclipse后, myeclipse就不能再从这两个包中找antlr-2.7.2.jar 并 
加载了
注意:如果程序已经运行过,则同时需要删除TOMCAT下的antlr-2.7.2.jar)


3.

(使用JSONObject与JSONArray时出现的问题)程序运行到 JSONObject j=JSONObject.fromObject(map) 
这部分后就没反应了,无任何异常抛出


---->解决方法:(本文来自:http://blog.sina.com.cn/s/blog_6853c03b0100p4nx.html


这句话前面和后面都加上了打印信息,运行结果是前面有打印,后面没有打印,也没有任何异常抛出,
就这么莫名其妙的断掉了。
我把这段代码拿到junit下测试 就报错了。java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException错误,查了下原因原来是少了3个包。
因为我在使用json的时候只导入了json-lib-2.1.jar这个包但是程序还需要这4个包:


commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.1.jar
ezmorph-1.0.2.jar


导入之后就发现 OK了)


4.

 JSON对象(包括对象数组)转字符串 
json


var OString = function(O) { 
    var S = []; 
    for ( var i in O) { 
        O[i] = typeof O[i] == 'string' ? '"' + O[i] + '"' : (typeof O[i] == 'object' ? OString(O[i]) : O[i]); 
        S.push(i + ':' + O[i]); 
    } 
    return '{' + S.join(',') + '}'; 
};