validation - Struts2转换警告

标签 validation error-handling struts2 type-conversion ognl

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

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

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警告仍然存在。

因此,问题是:

有什么办法不在日志上显示此警告?

最佳答案

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

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

您应该检查一下:
http://struts.apache.org/2.2.3/docs/type-conversion.html

关于validation - Struts2转换警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9031889/

相关文章:

c - c 中的致命堆损坏错误。无法处理,我需要建议

validation - 在 Struts 2 中链接访问者验证器

javascript - 没有 Javascript 验证的 HTML5 表单验证

jquery - 快速捕获中 Unresolved 已识别错误

xml - 使用 JAXB 验证模式

python - 试图对我的Python Battleship游戏进行白痴验证

java - 返回到 Struts 2 中输入结果的当前页面

input - Struts2没有映射Action

validation - 如何将参数传递给翻译的验证错误消息

java - 验证 Spring Web 应用程序配置的最佳实践