java.lang.NoSuchFieldException: resourceEntries

[com.opensymphony.xwork2.util.LocalizedTextUtil]couldn'tclear tomcat cache

java.lang.NoSuchFieldException: resourceEntries

    at java.lang.Class.getDeclaredField(Class.java:2070)

 

这是在$.post提交时:

$.post('${pageContext.request.contextPath}/menuAction!getTreeNode.action',{type:1},function(data){

       if(data) {

{type:1}没有对应的接受字段,也就是在menuAction中没有对应接受type的参数,导致resourceEntires错(实测解决问题,如果这里已经处理后,还有错误,可以参考修改配置文件、或者更换tomcat版本试试,最后有所介绍),这里将type:1去掉即可

改为

$.post('${pageContext.request.contextPath}/menuAction!getTreeNode.action',function(data)

 

 具体问题报错为:

[com.opensymphony.xwork2.util.LocalizedTextUtil]couldn'tclear tomcat cache

java.lang.NoSuchFieldException: resourceEntries

      atjava.lang.Class.getDeclaredField(Class.java:2070)

      atcom.opensymphony.xwork2.util.LocalizedTextUtil.clearMap(LocalizedTextUtil.java:859)

      atcom.opensymphony.xwork2.util.LocalizedTextUtil.clearTomcatCache(LocalizedTextUtil.java:842)

      ……

      atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

      atjava.lang.Thread.run(Thread.java:745)

[com.opensymphony.xwork2.interceptor.ParametersInterceptor]DeveloperNotification (set struts.devMode to false to disable this message):

Unexpected Exception caught setting 'type' on 'class sy.action.MenuAction:Error setting expression 'type' with value ['1', ]

 

 

http://bbs.csdn.net/topics/390955877

网络上的解决方法是:(1)进入项目包下的.settings目录,找到org.eclipse.wst.common.project.facet.core.xml文件,用记事本打开后看到 runtime name="Apache Tomcat v6.0"。我eclipse中设置的tomcat7.0版本的,然后把这句话删掉就好了

 

(2)看了一天tomcat的源代码,才发现tomcat8.0的类加载器webappclsaaLoader中没有属性resourceEntries,于是我换了tomcat7.0的看了下,7.0的有属性resourceEntries,实力一下,居然好了,没有异常了,是tomcat版本的问题

 

(3)有一种情况就是我遇到的这种,因为提交参数,在后台没有对应的接受处理。具体问题具体分析哦。

你可能感兴趣的:(Struts)