2014-08-29 96 views
1

我試圖關閉以下警告消息關閉OGNL警告在Struts2

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-ref name="defaultStack"> 
    <param name="excludeParams">.*?checkbox.*</param> 
</interceptor-ref> 

我的問題的interceptor-stack部分:1)我做了一個小姐的配置? 2)你如何禁用警告。

回答

1

excludeParamsparams攔截器的屬性,應該這樣

<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 
+0

我試圖改變帕拉姆的名字,我也嘗試添加新的log4j.properties(我們沒有那些之一因爲我們正在使用xml配置),但仍然是g設置警告消息。是的,我們正在駕駛攔截攔截器。 – mpop 2014-08-29 15:58:39

+0

讓我也注意到我已經嘗試將這些標識添加到log4j.xml文件中,並添加 到它,使用相同的機構記錄器標籤如我在問題中使用的上方。 – mpop 2014-08-29 16:08:51

+0

還要添加''。 – 2014-08-29 17:29:40

0

我finnaly sovled錯誤,而我有(如在defaultStack帕拉姆上面的問題看到攔截,裁判,當我移動參數去攔截,裁判的名字PARAMS它去掉了錯誤

<interceptor-stack name="new_default_stack"> 
    <interceptor-ref name="params"> 
    <param name="paramNameMaxLength">250</param> 
    <param name="excludeParams">.*?checkbox.*</param> 
    </interceptor-ref> 
    <interceptor-ref name="timeActions"/> 
    <interceptor-ref name="defaultStack"> 

    </interceptor-ref> 
    <interceptor-ref name="userProfile"/> 
    <interceptor-ref name="valueStackManipulator"/> 
    <interceptor-ref name="actionHistoryRecorder"/> 
    <interceptor-ref name="cachingHeadersInterceptor"/> 
</interceptor-stack> 

這是一個需要在excludeParams的位置被改變。