How to enforce jsf to create new instance of bean instead of throwing NullPointerException?
- by Roman
I'm almost sure that I do something wrong and thus the question's title is a bit incorrect.
I have a form with several fields for creating a new User-objects (fields like login, password, birthday etc). And I have 2 buttons - Cancel and Create. I didn't finish Create yet :) , but when I press Cancel I see NullPointerException. Here is simplified code:
<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 class has field user with getter and setter and some other methods. It's a Spring bean with Session scope.
When I press cancel, I see NPE because jsf tries to save values from inputs in user-object, but user-object is null.
What is the correct way of doing this?