[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中设置的tomcat是7.0版本的,然后把这句话删掉就好了
(2)看了一天tomcat的源代码,才发现tomcat8.0的类加载器webappclsaaLoader中没有属性resourceEntries,于是我换了tomcat7.0的看了下,7.0的有属性resourceEntries,实力一下,居然好了,没有异常了,是tomcat版本的问题
(3)有一种情况就是我遇到的这种,因为提交参数,在后台没有对应的接受处理。具体问题具体分析哦。