gpt4 book ai didi

java - 在 tomcat 中运行多个应用程序时,Struts2 应用程序中的 NullpointerException

转载 作者:行者123 更新时间:2023-11-28 22:38:26 26 4
gpt4 key购买 nike

在我的 Struts2 应用程序中使用抛出 NullPointerException 的对象访问 jsp 值。

我在jsp中有以下代码

<s:textfield name="controlObj.newname"  onclick="removeError();"/>

我在 Struts2 Action 类中有一个用于此 controlObj 的 bean

private ControlForm controlObj;

public ControlForm getControlObj() {
return controlObj;
}
public void setControlObj(ControlForm controlObj) {
this.controlObj= controlObj;
}

但是当我在 action java 文件中访问这个 newname 属性时它抛出 NullpointerException,但是在 ControlForm 类中我已经初始化了 newname

public ControlForm () {
newname ="Update name here...";
}

我使用的编码语法有问题吗???因为如果属性直接在 Action 类中定义,我可以获得值,例如

private String variable_name;

我只为 Object.property 类型的变量得到 nullPointerException !!!

更新:

  1. 在 Firebug 工具中,我可以看到 controlObj.newname 的值已通过用表格提交。
  2. 当我运行这个时我没有收到任何错误在 tomcat 中作为独立应用程序,“controlObj.newname”返回值(value)。如果仅当任何其他 struts2 应用程序运行时抛出 null在 Tomcat 中使用此应用程序

最佳答案

您得到的 NullPointerException 不是因为 newname 没有被初始化,而是因为 controlObj 没有被初始化。当 Struts 使用 getControlObj() 获取 controlObj 时,返回 null,因为 controlObj 尚未初始化,然后 getNewname() 在此 null 对象上抛出 NullPointerException。如果您在操作中正确初始化了 controlObj,这应该可以解决。

关于java - 在 tomcat 中运行多个应用程序时,Struts2 应用程序中的 NullpointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11189020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com