【发布时间】:2017-06-27 17:27:21
【问题描述】:
我在 Struts 2 中有一个文本字段定义为
<s:textfield key="fName" label="First Name" readonly="true" />
getter 工作正常,但由于它应该只是一个仅显示字段,所以我将其更改为
<div> <br /> First Name: <s:property value="fName" /></div>
现在 getter 得到 NullPointerException。
有没有办法规避这个错误?谢谢
Person.java 中的 getter:
public String getFName() {
return fName;
}
堆栈跟踪:
test.model.Person.getFName(Person.java:43)
test.service.PersonDAO.update(PersonDAO.java:182)
test.action.UpdatePersonInfo.execute(UpdatePersonInfo.java:46)
【问题讨论】:
-
@Aleksandr M getter 和相关的堆栈跟踪已添加。就像我说的,如果我用文本字段替换属性,就没有 NPE
-
你的意思是你提交表格后得到NPE?使用隐藏字段。另请阅读此struts.apache.org/docs/…。
-
@user1005585 但该值为空正确(如果使用文本字段)?如果是这样的话......然后使用类似
user is not已登录[提供登录链接] ,虽然这有点 hack,但我会将检查移至 getter,如果那里为 null,则返回一个空字符串。 -
@Quaternion 值不为空。总是有一个值,它适用于 textfield 元素,但不适用于属性。我正在使用 struts 2.3.15。不过感谢您的建议
-
只是为了进行健全性测试,您可以将
return fName;更改为return "Bob";吗?你也在使用 ModelDriven 吗?有点奇怪。
标签: properties nullpointerexception struts2 textfield