我正在尝试关闭以下警告消息
OgnlValueStac W com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn Error setting expression 'checkboxidentifyer' with value '[Ljava.lang.String;@518b518b'
我尝试将以下内容放入我的 log4j.xml
文件
<logger name="log4j.logger.org.apache.struts2" >
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<logger name="log4j.logger.com.opensymphony" >
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<logger name="ognl.OgnlException" >
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<logger name="com.opensymphony.xwork2.util.logging.commons.CommonsLogger" >
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<logger name="ognl.OgnlRuntime" >
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
我也尝试过添加
<constant name="struts.devMode" value="false" />
到我的struts.xml
文件。我还尝试将以下内容添加到 struts.xml
文件的 interceptor-stack
部分
<interceptor-ref name="defaultStack">
<param name="excludeParams">.*?checkbox.*</param>
</interceptor-ref>
我的问题是:
- 我是否错过了配置?
- 如何禁用警告。
最佳答案
excludeParams
是 params
interceptor 的属性并且应该像这样引用
<interceptor-ref name="defaultStack">
<param name="params.excludeParams">.*?checkbox.*</param>
</interceptor-ref>
请注意,如果您使用interceptor-ref
操作上的标记然后它会覆盖默认拦截器堆栈并仅适用于该操作配置。对于常见用法,请考虑创建自定义拦截器堆栈并将其设置为任何操作配置的默认值。
您可以设置拦截器和 OGNL 的日志记录级别。使用log4j.properties
log4j.logger.com.opensymphony.xwork2.interceptor=ERROR
log4j.logger.com.opensymphony.xwork2.ognl=ERROR
关于java - 关闭 Struts 2 中的 OGNL 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25570391/