`

ognl.OgnlException: target is null for setProperty(null, "description", [Ljava.l

阅读更多
    以前也遇到过这样的错误,没有怎么注意。今天又遇到了。总结一下。
     Struts页面参数传递错误原因有四种可能性。

一、数据类型不匹配:
    如Action中为Integer类型,而传递过来的是String类型,此种原因多半因为写Struts标签或EL表达式时写错了。

二、也可以称作数据类型不匹配:
    如Action中的属性为Integer id;   但是页面上传递参数时同时传递了多个name为id
的参数,如此以来即因为不能将整型数组转换成整型而出错。

三、无法访问属性出错
   如Action中有一个Student的属性stu,Student有age的属性,但是Student却没有无参数的构造方法,或者age这个属性没有getter或setter方法,就或出错,这是网上的说法。

四、Spring管理下的Action出错:
   这是今天我遇到的错误,也是最隐蔽的错误。
   情况如下:
    我使用注解的方式,将Action纳入Spring管理:
	 	<action name="*_*" class="{1}" method="{2}">
	 	   <!-- 增加或修改的输入页面 -->
	 	   <result name="input">/WEB-INF/pages/{1}/{2}UI.jsp</result>
	 	   
	 	   <!-- 直接访问与action中方法名称对应的页面 -->
		   <result name="success">/WEB-INF/pages/{1}/{2}.jsp</result>
		   
		   <!--重定向到list页面 -->
		   <result name="reload" type="redirectAction">{1}_list.action?pageNum=${pageNum}</result>
		   
		</action>


BussinessAction(业务),里面用到了javaBean:AcceptType(受理类型):
/**
 * @author huqiao 2011-04-11
 *
 */
@Controller("bussiness")
@Scope(value="prototype")
public class BussinessAction extends BaseAction<Bussiness> {
	
	private AcceptType acceptType;

......
}

而另外一个Action:AcceptTypeAction:


/**
 * @author huqiao 2011-04-11
 */
@Controller("acceptType")
@Scope(value="prototype")
public class AcceptTypeAction extends BaseAction<AcceptType> {
	
	private AcceptType acceptType;
......
}

即:AcceptTypeAction纳入Spring管理的名字与BussinessAction中的AcceptType属性名称重复了,在Bussiness添加页面提交时报类型转换异常:
Cannot convert value of type [cn.chinacti.crm.action.AcceptAction] to required type [cn.chinacti.crm.entity.AcceptType] for property 'acceptType': no matching editors or conversion strategy found

解决办法:
   修改Action的名称
分享到:
评论
1 楼 wishjlucky 2015-01-15  
分析得很详细

相关推荐

    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的chm

    **OGNL(Object-Graph Navigation Language)**是一种强大的表达式语言,主要用于获取和设置Java对象的属性。在Java开发中,尤其是Web应用框架如Struts2和Hibernate中,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-3.2.21-API文档-中文版.zip

    赠送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的jar包

    OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Apache Struts2框架的核心组成部分,也被许多其他Java应用和框架广泛使用,如Spring WebFlow。在Java世界中,...

    ognl-3.1.12-API文档-中文版.zip

    赠送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文档-...

    解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    错误日志显示的是一个`MybatisPlusException`,提示“Your property named 'username' cannot find the corresponding database column name!”,这意味着MyBatis-Plus在尝试映射Java对象的属性(如`username`)到...

    Struts2-OGNL.rar_ognl

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

    ognl.zip 版本3.0.6

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

    第四章:struts2中的OGNL.ppt

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

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

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

    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提供了一种简洁的方式来表示复杂的对象图导航路径。它支持方法...

    Struts 2中的OGNL .rar

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

    mybatisplus-plus对mybatisplus的一些功能补充

    mybatisplus-plus对mybatisplus的一些功能补充:根据多个字段联合主键增删改查;优化分页插件实现在不分页时进行排序操作;自动填充优化功能 & 自动扫描Entity类构建ResultMap功能;ognl设置默认包名

    ognl.jar包,struts2开发必备

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

    ognl.rar_ognl

    3. **控制逻辑**: 通过OGNL,开发者可以在表达式中嵌入简单的控制逻辑,如条件判断 (`if`) 和循环 (`for-each`)。 4. **动态属性访问**: OGNL允许访问私有属性和动态属性,即使这些属性在编译时不存在。 **三、...

Global site tag (gtag.js) - Google Analytics