我几乎可以肯定我做错了什么,因此问题的标题有点不正确。
我有一个包含多个字段的表单,用于创建新的用户对象(登录名、密码、生日等字段)。我有 2 个按钮 - 取消和创建。我还没有完成创建:),但是当我按下取消时,我看到了 NullPointerException。这是简化的代码:
<f:view>
<h:form>
<h:panelGroup layout="block">
<h:inputText id="add_login" value="#{userSupport.user.login}"/>
<h:inputSecret id="add_password" value="#{userSupport.user.password}"/>
<h:inputText id="add_name" value="#{userSupport.user.name}"/>
<h:inputText id="add_surname" value="#{userSupport.user.surname}"/>
<h:commandButton value="Cancel" action="cancel"/>
</h:panelGroup>
</h:form>
</f:view>
UserSupport 类具有user
getter 和 setter 以及其他一些方法的字段。这是一个具有 Session 范围的 Spring bean。
当我按下取消时,我看到 NPE,因为 jsf 尝试保存用户对象中输入的值,但用户对象为空。
这样做的正确方法是什么?