现在,我正在用Struts2.8版本编写一个程序;当我在devMode文件中设置struts.xml文件时,如下所示
<constant name="struts.devMode" value="true" />程序抛出一个异常:
Throwable occurred: java.lang.NoSuchFieldException: cacheList
at java.lang.Class.getDeclaredFieldImpl(Native Method)
at java.lang.Class.getDeclaredField(Class.java:517)
at com.opensymphony.xwork2.util.LocalizedTextUtil.clearMap(LocalizedTextUtil.java:835),我知道当设置value="false“时,不会出现异常。但我想解决这个问题。谁能帮我?提前感谢
发布于 2013-10-26 14:07:32
根据devMode文档,如果启用,Struts 2将在每个请求上重新加载资源包、配置文件和struts.xml。也许这种设置不那么广为人知,因此也是造成许多混乱的原因:它将提高的调试级别,或者对于错误通常会增加一些可忽略的问题。例如:当您提交一个不能在动作‘someUnknownField’上设置的字段(在您的例子中是)时,它通常会被忽略。但是,当您处于开发模式时,将抛出一个异常,告诉您已提交了一个无效字段。这对于调试或测试大型表单非常有用,但如果您依赖于请求中没有在操作上设置但直接在视图层中使用的参数(警告:错误的做法,您应该始终验证来自web的输入).Hope--这就说明了启用devMode时抛出错误的原因。
https://stackoverflow.com/questions/19607360
复制相似问题