簡體   English   中英

在tomcat中與多個應用程序一起運行時,Struts2應用程序中出現NullpointerException

[英]NullpointerException in Struts2 application when running with multiple applications in tomcat

在我的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;
}

但是當我在操作java文件中訪問此newname屬性時,它將引發NullpointerException,但是在ControlForm類中,我已經初始化了newname

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

我使用的syantax編碼是否存在任何問題??? 因為如果直接在Action類中定義屬性,則可以獲取值

private String variable_name;

我只為Object.property類型的變量獲取Object.property

更新:

  1. 在Firebug工具中,我可以看到隨表單提交傳遞的controlObj.newname的值。
  2. 當我在tomcat中獨立運行此應用程序時,我沒有收到任何錯誤,“ controlObj.newname”返回值。 僅當在Tomcat中與此應用程序一起運行的任何其他struts2應用程序時,才拋出null

您得到的NullPointerException不是由於未初始化新名稱,而是由於未初始化controlObj。 當Struts使用getControlObj()獲取controlObj時,將返回null,因為尚未初始化controlObj,然后此null對象上的getNewname()引發NullPointerException。 如果您在操作中正確初始化了controlObj,則應該解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM