ognl.MethodFailedException: Method "setEndtime" failed for object com.piptrade.action.tradetools.eCalerddarAction@17db177 [java.lang.NoSuchMethodException: setEndtime([Ljava.lang.String;)]
简单分析,通过form提交过来的endtime是String类型的,而action里的endtime不是String类型,这个Endtime对应的setEndtime方法的参数类型不是String了,估计这个是Date吧。
据了解,struts2有默认的类型转的,基本类型都可以转换的
boolean和Boolean:完成字符串和布尔值之间的转换;
char和Character:完成字符串和字符之间的转换;
int和Integer:完成字符串和整形之间的转换;
long和Long:完成字符串和长整形之间的转换;
flota和Float:完成字符串和单精度浮点值之间的转换;
double和Double:完成字符串和双精度浮点值的转换;
Date:完成字符串和日期类型之间的转换!;
数组:默认情况下,数组元素是字符串,如果用户提供了自定义类型转换器,也可以是其他复合类型转换器;
集合:默认情况下,假定集合元素为String,并创建一个新的ArrayList封装所有的字符串;
这样即使endtime是Date类型,也没问题的。
但是如果传进来带有非法字符的话,这里也会报错的,如age是int,而在页面传值是传了个字符串过来,这样肯定报错了。
有一种特殊的情况。
项目上有出现表现层使用实体类的情况,将实体类对象放到表单中获取数据,其中涉及到starttime的属性,这个属性是timestamp类型的。
在本地开发环境下,页面通过表单提交starttime的值到action是没问题的,这里应该是做了一次转换,将String转为了timestamp。
但是放到商用上,就报错上面的错误了。
后来将服务器的一个环境变量Lang改为了zh_CN.UTF-8,跟本地的一样,就没有报错了。原来的是en_US.UTF-8。
看得出是服务器的字符编码导致的。struts的转换是没问题的,猜测是不是两种字符编码的时间格式不一样呢?浏览器在本地,应该是中文的,服务器的应该也是中文才行。
需要进一步的验证。
分享到:
相关推荐
标题 "ognl.MethodFailedException" 指的是在使用OGNL(Object-Graph Navigation Language)表达式语言时遇到的方法执行失败异常。OGNL是一种强大的表达式语言,常用于Java应用程序,特别是Spring MVC和Struts 2框架...
ognl.MethodFailedException: Method "setUpload" failed for object 文件类型的限制会在struts.xml中进行配置 几种常见的类型,图片格式image/jpeg,image/gif word文档格式doc :application/msword word文档格式...
camel-ognl-1.6.4.jar, camel-ognl-2.8.1.jar, com.springsource.org.ognl-2.6.9.jar, com.springsource.org.ognl-sources-2.6.9.jar, ognl-2.5.1.jar, ognl-2.6.11.jar, ognl-2.6.3.jar, ognl-2.6.5.jar, ognl-...
**OGNL(Object-Graph Navigation Language)**是一种强大的表达式语言,主要用于获取和设置Java对象的属性。在Java开发中,尤其是Web应用框架如Struts2和Hibernate中,OGNL被广泛使用。它允许开发者以简洁的方式...
ognl.jar ognl.jar
标题中的“ognl-3.0.21.jar”和“ognl.jar”是指OGNL(Object-Graph Navigation Language)的特定版本库文件。OGNL是一种强大的表达式语言,广泛用于Java应用程序,尤其是Web开发框架如Struts 2中,用于在模型、视图...
标题中的“ognl.jar(ognl-2.6.11.jar)”指的是OGNL(Object-Graph Navigation Language)的特定版本,这是一个开源表达式语言,主要用于Java应用程序,它允许程序动态地访问和修改对象的属性。这个版本是2.6.11,表明...
赠送jar包:ognl-3.2.21.jar; 赠送原API文档:ognl-3.2.21-javadoc.jar; 赠送源代码:ognl-3.2.21-sources.jar; 赠送Maven依赖信息文件:ognl-3.2.21.pom; 包含翻译后的API文档:ognl-3.2.21-javadoc-API文档-...
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Apache Struts2框架的核心组成部分,也被许多其他Java应用和框架广泛使用,如Spring WebFlow。在Java世界中,...
赠送jar包:ognl-3.1.12.jar; 赠送原API文档:ognl-3.1.12-javadoc.jar; 赠送源代码:ognl-3.1.12-sources.jar; 赠送Maven依赖信息文件:ognl-3.1.12.pom; 包含翻译后的API文档:ognl-3.1.12-javadoc-API文档-...
Struts2是一个流行的Java Web应用程序框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。在Struts2中,OGNL(Object-Graph ...通过阅读提供的"Struts2 OGNL.htm"文件,你可以进一步学习OGNL的详细用法和示例。
**ognl.zip 版本3.0.6** OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。在版本3.0.6中,它提供了对Java对象图的灵活导航、动态方法调用以及数据绑定等功能。这...
本篇文章将深入探讨Struts2中的OGNL.jar及其相关知识点。 首先,OGNL是Object-Graph Navigation Language的缩写,它是一种强大的表达式语言,允许程序员以简洁的语法访问和操作对象图。在Struts2中,OGNL用于处理...
第四章:Struts2中的OGNL.ppt详细探讨了Struts2框架中使用OGNL(Object-Graph Navigation Language,对象图导航语言)的关键概念和技术。OGNL作为一种强大的表达式语言,使得开发者能够方便地访问Action携带的数据,...
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Apache Struts2框架中的核心组件,被广泛应用于Web应用程序中,用于动态地访问和操作对象的属性。在本资源中...
"ognl.rar_OGNL API_og_ognl"这个标题暗示了压缩包中包含了OGNL的API文档、源码以及可能的相关开发工具。 **OGNL基础知识** 1. **OGNL简介**:OGNL提供了一种简洁的方式来表示复杂的对象图导航路径。它支持方法...
- ognl.jar:Object-Graph Navigation Language,用于对象属性的访问和表达式语言。 3. **Hibernate框架**: - hibernate-core.jar:Hibernate的核心库,包括实体管理、会话管理等。 - hibernate-entitymanager....
ognl-2.7.3.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性。 struts2-core-2.1.8.jar:Struts 2框架的核心类库 xwork-core-2.1.6.jar:XWork类库,Struts 2在其上...
本压缩包文件“Struts 2中的OGNL.rar”包含的PDF文档详细介绍了如何在Struts 2框架中使用OGNL。 OGNL是一种强大的表达式语言,它的主要功能是在Java对象图中导航并操作数据。在Struts 2中,OGNL被用来解析和构造...
- ognl.jar:Object-Graph Navigation Language,用于对象属性的访问和表达式语言。 - freemarker.jar:模板引擎,用于生成动态内容。 3. **Hibernate框架**: Hibernate是Java领域中最流行的ORM框架,它提供了...