首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试xwork操作类时出现空指针异常

测试xwork操作类时出现空指针异常
EN

Stack Overflow用户
提问于 2014-04-14 03:17:14
回答 1查看 291关注 0票数 0

我试图单独运行xwork,即使用main方法(),但不幸的是,我没有让我的操作类执行,相反,我得到了空指针异常,因为我的defaultActionFactory中的xwork容器是空的。下面是我的action类:

代码语言:javascript
复制
import com.opensymphony.xwork2.Action;

public class HelloWorld implements Action {
String name;
String greeting;
public void setName(String name) {
this.name = name;
}
public String getGreeting() {
return greeting;
}
public String execute() {
greeting = "Hello, " + name;
return SUCCESS;
}
}

我测试此操作的主类如下:

代码语言:javascript
复制
public class Main {
public static void main(String[] args) throws Exception {
Map params = new HashMap();
params.put("name", "Patrick");
Map extraContext = new HashMap();
extraContext.put(ActionContext.PARAMETERS, params);

ActionProxyFactory factory = new DefaultActionProxyFactory();
ActionProxy proxy =
factory.createActionProxy("", "hello", extraContext);
System.out.println(proxy.execute());
HelloWorld hello = (HelloWorld) proxy.getAction();
System.out.println(hello.getGreeting());
}
}

最后,我将我的xwork.xml放在相同的包文件夹中,下面是我的xwork.xml文件

代码语言:javascript
复制
<!DOCTYPE xwork PUBLIC “-//OpenSymphony Group//XWork 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<package name="default">
<action name="hello"
class="org.arpit.javapostsForLearning.HelloWorld">
</action>
</package>
</xwork>

我被困在这里,我做了很多搜索,但没有找到任何有结果的东西,请让我知道这里缺少什么?如果能帮上忙,我们将不胜感激。

空指针出现在DefaultActionProxyFactory的下面代码中,但我从我的主类发送了所有内容,它说容器为空

代码语言:javascript
复制
 public ActionProxy createActionProxy(ActionInvocation inv, String namespace, String actionName, String methodName, boolean executeResult, boolean cleanupContext)
   {
    DefaultActionProxy proxy = new DefaultActionProxy(inv, namespace, actionName, methodName, executeResult, cleanupContext);
    this.container.inject(proxy);
     proxy.prepare();
     return proxy;
   }
EN

回答 1

Stack Overflow用户

发布于 2014-04-14 03:26:11

由于我不知道您使用的测试框架,但是,我可以给出一个想法。在您的类文件中,为name和greeting变量提供默认值,并观察它们是否在运行时发生变化(或查看哪个变量发生了变化)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23047272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档