Java 与tomcat中的多个应用程序一起运行时,Struts2应用程序中的NullpointerException
在我的Struts2应用程序中,使用对象抛出NullPointerException访问jsp值 我在jsp中有以下代码Java 与tomcat中的多个应用程序一起运行时,Struts2应用程序中的NullpointerException,java,jsp,tomcat,struts2,Java,Jsp,Tomcat,Struts2,在我的Struts2应用程序中,使用对象抛出NullPointerException访问jsp值 我在jsp中有以下代码 <s:textfield name="controlObj.newname" onclick="removeError();"/> 但当我在ActionJava文件中访问这个newname属性时,它抛出NullpointerException,但在ControlForm类中,我已经初始化了newname public ControlForm () {
<s:textfield name="controlObj.newname" onclick="removeError();"/>
但当我在ActionJava文件中访问这个newname
属性时,它抛出NullpointerException,但在ControlForm类中,我已经初始化了newname
public ControlForm () {
newname ="Update name here...";
}
我使用的syantax编码有什么问题吗???因为如果属性直接在Action类中定义,我就可以得到这些值
private String variable_name;
我只为类型为Object.property
的变量获取nullPointerException
更新:
controlObj.newname
passed的值
提交表格您得到的NullPointerException不是因为没有初始化新名称,而是因为没有初始化controlObj。当Struts使用getControlObj()获取controlObj时,返回null,因为controlObj尚未初始化,然后此null对象上的getNewname()抛出NullPointerException。如果您在操作中正确初始化了controlObj,则应该解决此问题。您得到的NullPointerException不是因为没有初始化新名称,而是因为没有初始化controlObj。当Struts使用getControlObj()获取controlObj时,返回null,因为controlObj尚未初始化,然后此null对象上的getNewname()抛出NullPointerException。如果您在操作中正确初始化了controlObj,则应该解决此问题。添加ControlForm的结构。如果您实际实例化了
HandoutForm
(我假设这扩展或实现了ControlForm
)并在controlObj
字段中引用它?您在哪里部署S2库?应用程序库文件夹中的struts2-core-2.0.11添加ControlForm的结构您实际实例化了HandoutForm
的实例(我假设这扩展或实现了ControlForm
)并在controlObj
字段中引用它?您在哪里部署S2库?struts2-core-2.0.11在应用程序库文件夹中我忘了包括,controlObj也在操作文件中初始化。在jsp文件“controlObj.newname”中显示我在Constructor中输入的值或忘了包括,controlObj也在action文件中初始化。在jsp文件“controlObj.newname”中显示我在构造函数中输入的值
private String variable_name;