gpt4 book ai didi

java - 避免在 h :inputText 中显示默认的 int 值 0

转载 作者:行者123 更新时间:2023-12-02 05:59:52 25 4
gpt4 key购买 nike

我从网站上的类似问题中了解到,为了避免默认值,我必须使用包装类,所以我将 int 更改为 Integer 但随后我得到 nullpointerException,我想如果你将 null 值传递给 jsf 它只是将其显示为空字段。我正在使用 glassfish 4.0。我无法理解为什么我会收到此异常

以下是我遇到的异常

javax.el.ELException: /index.xhtml @23,66 value="#{userIdea.idea.empid}": java.lang.NullPointerException
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
at javax.faces.component.UIInput.getValue(UIInput.java:291)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:894)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)

以下是我的jsf代码片段

Employee ID:
<h:inputText value="#{userIdea.idea.empid}" required="true"
requiredMessage="You must enter a Employee ID"
converterMessage="Employee ID must be a number" id="empid" />

想法类片段

 private Integer empid;
public int getEmpid() {
return empid;
}
public void setEmpid(int empid) {
this.empid = empid;
}

最佳答案

将 getter 也更改为 Integer。

 public Integer getEmpid() {
return empid;
}

否则编译器将自动拆箱(empid.intValue()),这会失败。

关于java - 避免在 h :inputText 中显示默认的 int 值 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22760653/

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