转自:http://blog.csdn.net/icejadelove/archive/2009/11/03/4764399.aspx
Unable to instantiate Action, ....action.CertAction, defined for '...' in namespace '/...'null
原因是变量定义:
private UserUtil userUtil = (UserUtil)ServletActionContext.getContext().getSession().get("userUtil");
关键是这里,这个uerUtil成员变量使用了 action 的上下文"ServletActionContext.getContext()".
了解webwork中ServletDispatcher原理的人可能知道原因了, 因为ServletDispatcher接受客户端的HTTP请求,将JavaServlet的很多相关对象进行包装,再传给我们的XWork框架,由我 们的XWork 框架去解析我们的xwork.xml配置文件,根据配置文件的信息,创建对应的Action,组装并调用相应的拦截器,执行Action,返回执行结果。
因此每次客户端的请求都将调用ServletDispatcher 的 service()方法,
该方法执行顺序如下:
1、通过request请求取得action的命名空间
2、根据servlet请求的Path,解析出要调用该请求的Action的名字(actionName)
3、创建Action上下文(extraContext)
4、根据前面获得的namespace、actionName、extraContext,创建一个ActonProxy
5、执行proxy的execute()方法,根据Action执行返回的值去调用执行相应的Result(返回结果处理)的方法。
现在应该能明白,原来是Action对象实例在ActionContext对象实例之前创建的,所有这样取得ActionContext容器对象就有可能会返回null.
因此解决次问题方法很简单,就是最好不要在成员变量或者是构造方法里调用ActionContext,而把它放在其它方法里.
分享到:
相关推荐
SSH登录无实例化例子 SSH登录无实例化例子
1)第一种不是常驻型广播,也就是说广播跟随注册他的Activity的生命周期。 2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。
WebService大讲堂之Axis2,多个实例,非常全的文档,从新手入门开始到复杂的实例
ar.com.tadp.xml.rinzo_0.9.0.zip eclipse xml 插件
Unity3D教程:Prefabs与Instantiate1
在搭建spring项目时通常需要这些jar包 ...org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace ...
dpoll ... 最初创建于 安装 $ python3 -m venv dpoll-env $ tmp source dpoll-env/bin/activate ...$ cd dpoll.xyz $ pip install -r requirements.txt $ touch dpoll/base/settings.py dpoll/base/local_settings.py ...
学习使用Prefabs和instantiate使用方法!
{“success”:false,“message”:“Failed to instantiate the chaincode. cause:instantiate proposal resulted in an error :: Error: 2 UNKNOWN: chaincode error (status: 500, message: is not a valid ...
本文实例为大家分享了Unity中Instantiate实例化物体卡顿问题的解决方法,供大家参考,具体内容如下 一、前言 当在执行多次Instantiate实例化物体时,会卡顿严重甚至在移动端会导致程序崩溃 因为Instantiate会产生...
通过MediaExtractor抽取视频,然后再通过MediaMuxer产生视频文件
稳定的兔子 stablerabbit是一个用于Rabbitmq的库 ... log.Fatalf("unable to instantiate publisher: %s", err) } queueName := "shahin" if err = p.Publish(context.Background(), queueName
名称 WebService :: Pushover-Pushover ...) or die( "Unable to instantiate WebService::Pushover.\n" ); my %params = ( message => 'test test test', priority => 0, ); my $status = $push->message( %params
该软件包提供了Yii 2依赖注入器容器,该容器能够自动解决嵌套的构造函数接口类型的依赖项。 要求 Yii 2.0.39.3+ PHP 7.0以上 安装 composer require bizley/deep-instantiate:^1.0 用法 直接-只需调用new \Bizley\...
No Hibernate Session bound to thread,没有绑定线程解决办法,找了好久才找到的
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.amqp.core.Queue]: Factory method 'clientQueue' threw exception; nested exception is org....
Constructor scope altered to public for base class to instantiate.
discover the operations available on it, and to instantiate the appropriate bean to perform said operation(s). For example, if a browser obtained a JPEG image, this framework would enable the browser...
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 解决方法 ...