1

我正在 Struts2.2.3 上开发基于模型的 Web 应用程序。我所说的模型的意思是,数据库表表示为 java 类(你知道)。并且模型具有诸如 Integer、Date 等类型的属性。当我在页面上呈现这些值时,并且当用户放置原始类型以外的值时,它总是给我例外。在填充之前它没有达到验证功能。

它在页面上显示以下消息:

Invalid field value for field "estimates[1].count".

还在控制台上显示以下异常

 WARN OgnlValueStack:60 - Error setting expression 'estimates[1].count' with value '[Ljava.lang.String;@a61ffd'

我之前看到几个人有这个问题:http: //osdir.com/ml/user-struts.apache.org/2009-12/msg00037.html

我已从默认堆栈中删除了 ConversionError 拦截器。我的 devMode 已关闭。但是,我仍然收到这些错误。

更新:

我发现错误异常可以被 MyAction-validation.xml 捕获,并且可以自定义错误消息。但是OGNL警告仍然存在。

因此问题是:

有没有办法不在日志上显示这个警告?

4

2 回答 2

1

问题是框​​架试图将您的表单数据转换为不合适的 Java 类型(通常为字符串)。因此,如果您的 bean 或操作具有不同的类型,则会引发转换错误。

我通过创建自己的个人转换器并将它们注册到 xwork-conversion.properties 文件中来解决此问题。

你应该看看这个: http ://struts.apache.org/2.2.3/docs/type-conversion.html

于 2012-02-01T17:33:19.110 回答
0

如果遇到这种情况,没有办法不在控制台或日志上显示此 WARN:

请阅读:

http://www.mail-archive.com/user@struts.apache.org/msg90542.html

于 2012-02-02T08:41:25.783 回答