在使用struts中為了方便調試通常strutsproperties文件中把開發模式設置為true當表單裡面的數據為空的時候提交由於配置了validation校驗框架頁面被攔截有提示信息控制台輸出如下
:: comopensymphonyxworkinterceptorParametersInterceptor setParameters
嚴重: ParametersInterceptor [setParameters]: Unexpected Exception caught setting age on class orgmmcstrutsactionRegisterAction: Error setting expression age with value [LjavalangString;@b
:: comopensymphonyxworkvalidatorActionValidatorManagerFactory <clinit>
信息: Detected AnnotationActionValidatorManager initializing it
控制台出錯信息分析由於配置文件中繼承了strutsdefaultxml文件其中strutsdefaultxml中的代碼片段為
<interceptor name=params class=comopensymphonyxworkinterceptorParametersInterceptor/>
由於配置了validation校驗框架部分片段
<field name=age>
<fieldvalidator type=required>
<message>age should not be blank!</message>
</fieldvalidator>
<fieldvalidator type=int>
<param name=min></param>
<param name=max></param>
<message>age should be between ${min} and ${max}</message>
</fieldvalidator>
</field>
原因是輸入類型不匹配這個出錯信息是由於開發模式設置為true把開發模式設置為false就不會產生這個錯誤信息這個是LOG給的控制台錯誤方便用戶調試使用並不影響程序的正常運行
原文
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28339.html