`
wxb_j2ee
  • 浏览: 138716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ognl.MethodFailedException异常

阅读更多
ognl.MethodFailedException: Method "setReleaseDate" failed for object com.jeecms.article.entity.Article@61806f84 [java.lang.NoSuchMethodException: setReleaseDate([Ljava.lang.String;)]
 at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:823)
 at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:964)
 at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:75)
 at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:131)
 at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:28)
 at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656)
 at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
 at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
 at ognl.SimpleNode.setValue(SimpleNode.java:246)
 at ognl.ASTChain.setValueBody(ASTChain.java:172)
 at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
 at ognl.SimpleNode.setValue(SimpleNode.java:246)
 at ognl.Ognl.setValue(Ognl.java:476)
 at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:192)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:155)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:143)
 at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:273)
 at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
 at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
 at com.ponyjava.common.struts2.interceptor.DomainNameInterceptor.doIntercept(DomainNameInterceptor.java:24)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
 at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
 at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
 at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:532)
 at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.jeecms.core.web.AccessControlFilter.doFilter(AccessControlFilter.java:80)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
 at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
 at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
 at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
 at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
 at java.lang.Thread.run(Thread.java:619)
/-- Encapsulated exception ------------\
java.lang.NoSuchMethodException: setReleaseDate([Ljava.lang.String;)
 at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:810)
 at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:964)
 at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:75)
 at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:131)
 at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:28)
 at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1656)
 at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
 at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
 at ognl.SimpleNode.setValue(SimpleNode.java:246)
 at ognl.ASTChain.setValueBody(ASTChain.java:172)
 at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
 at ognl.SimpleNode.setValue(SimpleNode.java:246)
 at ognl.Ognl.setValue(Ognl.java:476)
 at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:192)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:155)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:143)
 at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:273)
 at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
 at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
 at com.ponyjava.common.struts2.interceptor.DomainNameInterceptor.doIntercept(DomainNameInterceptor.java:24)
 at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
 at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
 at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
 at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
 at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:532)
 at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.jeecms.core.web.AccessControlFilter.doFilter(AccessControlFilter.java:80)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
 at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
 at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
 at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
 at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
 at java.lang.Thread.run(Thread.java:619)

  

setReleaseDate通过前台页面form提交过来的String类型的日期字符串,而action里的setReleaseDate是Date类型,正常在struts2中,Date日期是可以实现字符串日期转换。

起初以为代码转换中间,出现非法字符或乱码的问题错误。但经过测试后,我本地的测试通过正常,测试服务器的通过正常,当正式服务器的时候测试失败,完全一样的代码,竟然出现异常,头疼了一上午.网上查找了一些资料,可能服务器的字符编码导致的问题,本地windows,测试,正式Liunx。带着尝试的心里,测试了一下,发现,原项目的字符编码是zh_CN.GBK的,而正式服务器的是en_US.UTF-8,把服务器的修改成zh_CN.GBK,项目正常了,让人纠结的问题终于解决了.

 

贴出来分享一下,也给自己做个备忘。

 

补充:
Linux字符编码设置
 
查看Linux字符编码:
more /etc/sysconfig/i18n


如果LANG="en_US.UTF-8",需修改为:LANG="zh_CN.UTF-8",设置方法如下:
手动更改配置文件的命令:
shell> vi /etc/sysconfig/i18n

 

将LANG="en_US.UTF-8"修改为:
LANG="zh_CN.UTF-8"

 

保存并关闭,运行下面的命令使配置生效:
shell> source /etc/sysconfig/i18n

 

将终端字符编码显示为简体中文:
shell> vi /etc/profile.d/chinese.sh

添加下面这行:export LC_ALL=zh_CN.UTF-8


shell> source /etc/profile.d/Chinese.sh

 

 

需要重起应用服务Apache,Tomcat,项目正常!

 

 

 

补充:

struts2中常见的类型转换:

boolean和Boolean:完成字符串和布尔值之间的转换;
char和Character:完成字符串和字符之间的转换;
int和Integer:完成字符串和整形之间的转换;
long和Long:完成字符串和长整形之间的转换;
flota和Float:完成字符串和单精度浮点值之间的转换;
double和Double:完成字符串和双精度浮点值的转换;
Date:完成字符串和日期类型之间的转换!;
数组:默认情况下,数组元素是字符串,如果用户提供了自定义类型转换器,也可以是其他复合类型转换器;
集合:默认情况下,假定集合元素为String,并创建一个新的ArrayList封装所有的字符串;


 

 

 

分享到:
评论

相关推荐

    ognl.MethodFailedException

    标题 "ognl.MethodFailedException" 指的是在使用OGNL(Object-Graph Navigation Language)表达式语言时遇到的方法执行失败异常。OGNL是一种强大的表达式语言,常用于Java应用程序,特别是Spring MVC和Struts 2框架...

    ognl.jar资源包

    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.jar ognl.jar

    ognl.jar ognl.jar

    ognl.jar(ognl-2.6.11.jar)

    标题中的“ognl.jar(ognl-2.6.11.jar)”指的是OGNL(Object-Graph Navigation Language)的特定版本,这是一个开源表达式语言,主要用于Java应用程序,它允许程序动态地访问和修改对象的属性。这个版本是2.6.11,表明...

    ognl-3.0.21.jar ognl.jar

    标题中的“ognl-3.0.21.jar”和“ognl.jar”是指OGNL(Object-Graph Navigation Language)的特定版本库文件。OGNL是一种强大的表达式语言,广泛用于Java应用程序,尤其是Web开发框架如Struts 2中,用于在模型、视图...

    OGNL.rar_ognl api_ognl._ognl源码_ognl源码分析_ongl download

    OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Apache Struts2框架中的核心组件,被广泛应用于Web应用程序中,用于动态地访问和操作对象的属性。在本资源中...

    ognl.zip 版本3.0.6

    **ognl.zip 版本3.0.6** OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。在版本3.0.6中,它提供了对Java对象图的灵活导航、动态方法调用以及数据绑定等功能。这...

    struts2中的ognl.jar

    本篇文章将深入探讨Struts2中的OGNL.jar及其相关知识点。 首先,OGNL是Object-Graph Navigation Language的缩写,它是一种强大的表达式语言,允许程序员以简洁的语法访问和操作对象图。在Struts2中,OGNL用于处理...

    ognl.rar_OGNL API_og_ognl

    "ognl.rar_OGNL API_og_ognl"这个标题暗示了压缩包中包含了OGNL的API文档、源码以及可能的相关开发工具。 **OGNL基础知识** 1. **OGNL简介**:OGNL提供了一种简洁的方式来表示复杂的对象图导航路径。它支持方法...

    ognl.jar包,struts2开发必备

    ognl.jar包,struts2开发必备。用以支持OGNL表达式的。

    第四章:struts2中的OGNL.ppt

    第四章:Struts2中的OGNL.ppt详细探讨了Struts2框架中使用OGNL(Object-Graph Navigation Language,对象图导航语言)的关键概念和技术。OGNL作为一种强大的表达式语言,使得开发者能够方便地访问Action携带的数据,...

    02MyBatis概述、核心组件、OGNL.md

    02MyBatis概述、核心组件、OGNL.md

    ognl.zip_ognl

    在`ognl.zip_ognl`的压缩包中,可能包含了一些示例代码,用于演示如何使用OGNL表达式。这可能是通过创建Java对象并使用OGNL来获取或设置这些对象的属性,或者是展示了在Web应用中如何动态地从视图到模型进行数据绑定...

    Struts2-OGNL.rar_ognl

    Struts2是一个流行的Java Web应用程序框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。在Struts2中,OGNL(Object-Graph ...通过阅读提供的"Struts2 OGNL.htm"文件,你可以进一步学习OGNL的详细用法和示例。

    Struts 2中的OGNL .rar

    本压缩包文件“Struts 2中的OGNL.rar”包含的PDF文档详细介绍了如何在Struts 2框架中使用OGNL。 OGNL是一种强大的表达式语言,它的主要功能是在Java对象图中导航并操作数据。在Struts 2中,OGNL被用来解析和构造...

    ognl.rar_OGNL API_struts2 ognl api_struts2帮助文档

    6. **OGNL的异常处理**:遇到错误时,如何理解和解决OGNL表达式抛出的异常。 7. **最佳实践**:如何优化OGNL的使用,提高代码的可读性和安全性。 通过学习这些知识点,开发者能够更高效地使用OGNL进行数据绑定和...

    ognl.rar_ognl

    **OGNL(Object-Graph Navigation Language)详解** OGNL,全称为对象图导航语言,是一种强大的表达式语言,主要用于在Java应用程序中获取和设置对象属性。这个开源项目提供了丰富的功能,使得开发者能够轻松地在...

    struts2文件上传

    ognl.MethodFailedException: Method "setUpload" failed for object 文件类型的限制会在struts.xml中进行配置 几种常见的类型,图片格式image/jpeg,image/gif word文档格式doc :application/msword word文档格式...

    struts2.0中的ognl

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置对象属性,它在Struts2的核心组件中扮演着至关重要的角色。本篇文章将深入探讨OGNL在Struts2.0中的应用及其重要性。 ...

    ognl源码和ognl帮助文档.rar

    OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,常用于Java应用,特别是Struts2框架中,用于数据绑定和动态方法调用。在这个压缩包中,包含的是OGNL的源码和帮助文档,这对于深入理解OGNL的工作...

Global site tag (gtag.js) - Google Analytics