struts2.1.6+jquery+json中出现的问题

xiaoxiao2026-08-14  32

最近在学习struts2+jquery,在网上看到jquery+json+struts2感觉很牛,就自己弄个demo试试 结果一试就郁闷了,打开strurs2.1.6的lib包发现没有json-plugin×.jar,以为2.1.6和其它的版本不一样了,不管,直接将json-lib2.1.jar导入,运行报错: There is no Action mapped for action name json. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61) 说是找不到映射,估计是没有加载struts.xml,看来还是需要json-plugin×.jar,木有办法,去网上找了半天,是个json-plugin-0.3.jar,重启后测试还是出错,不过错误不一样了: java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object; at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:153) at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163) 告诉我没有匹配的方法,没辙了,网上搜索发现是版本不对,于是找了个最新的json-plugin-0.33.jar替换掉重启就不报错了 以为就此ok了,后来在代码中写到 JSONArray json = JSONArray.fromObject(tests); 出现了转换后不走下面的代码,服务器也没有异常,后来在客户端跟踪到错误信息如下 (不知道为什么服务器没有异常输出。。) java.lang.reflect.InvocationTargetException sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ........ org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102) root cause java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Dyn aBean net.sf.json.JSONArray._processValue(JSONArray.java:2259) net.sf.json.JSONArray.processValue(JSONArray.java:2325) net.sf.json.JSONArray.addValue(JSONArray.java:2312) net.sf.json.JSONArray._fromCollection(JSONArray.java:841) net.sf.json.JSONArray.fromObject(JSONArray.java:137) net.sf.json.JSONArray.fromObject(JSONArray.java:120) com.jidi.jsonActions.TestAction.findTest(TestAction.java:34) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 把java.lang.NoClassDefFoundError: org/apache/commons/beanutils/Dyn aBean这个异常在网上一搜,发现还缺少两个jar包造成的错误,增加了jar包后错误解决 至此,struts2.1.6+json用到的jar包总共如下 json-lib2.1.jar json-plugin-0.33.jar ezmorph-1.0.3.jar commons-beanutils-1.7.0.jar
转载请注明原文地址: https://www.6miu.com/read-5051185.html

最新回复(0)