Exception when i want to fill a form !!
yohann49 Aug 22, 2007 3:15 AMHello !!!
I have a little problem. I'am developping a web application (with Netbeans, glassfish and hibernate). In a page, the client must fill a form and when I click on the button, there is this exception :
Exception during request processing: javax.servlet.ServletException: /abonnement_contact.xhtml @45,70 value="#{contactel.firstName}": Target Unreachable, identifier 'contactel' resolved to null
my jsf page :
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:f="http://java.sun.com/jsf/core">
<body>
<ui:composition template="templates/client.xhtml">
<ui:define name="servicesclients">
<h:form>
<h3>Please fill the Contact form</h3>
<h:dataTable id="contact" value="#{conts}" var="cont" rendered="#{cont.size>0}">
<h:column>
<f:facet name="header">Contacts</f:facet>
<h:outputLabel value="#{cont.firstName} #{cont.lastName}"/>
</h:column>
</h:dataTable>
<h:panelGrid columns="2">
<h:outputLabel value="FirstName :"/>
<h:inputText value="#{contactel.firstName}"/>
<h:outputLabel value="LastName :"/>
<h:inputText value="#{contactel.lastName}"/>
<h:outputLabel value="Phone :"/>
<h:inputText value="#{contactel.phone}"/>
<h:outputLabel value="Other Phone :"/>
<h:inputText value="#{contactel.otherPhone}"/>
<h:outputLabel value="Mail :"/>
<h:inputText value="#{contactel.mail}"/>
<h:outputLabel value="Username :"/>
<h:inputText value="#{contactel.username}"/>
<h:outputLabel value="Password :"/>
<h:inputText value="#{contactel.password}"/>
</h:panelGrid>
<h:commandButton value="Save" action="#{ContactManager.createContact}"/>
</h:form>
</ui:define>
</ui:composition>
</body>
</html>
and my bean :
*/
@Stateful
@Name("ContactManager")
@Scope(CONVERSATION)
public class ContactManager implements com.pingwy.web.front.ContactManagerLocal, Serializable{
@In
private EntityManager em;
@DataModel("contacts")
List<Contact> contacts;
@In(required = false) @Out (required = false)
Contact currentContact;
@DataModelSelection("conts")
@In (required = false)
Contact contactel = new Contact();
@DataModel("conts")
private List<Contact> conts;
@Factory("contacts")
public String findContact(){
Query query;
query = em.createQuery("select c from Contact c where c.customerId=#{currentContact.customerId}");
contacts = (List<Contact>) query.getResultList();
return null;
}
public String updateContact(){
em.merge(currentContact);
return null;
}
public String removeContact (){
System.out.println("contact bientot supprimé");
em.remove(currentContact);
return null;
}
@Begin(join = true)
public String createContact(){
conts.add(contactel);
return "success";
}
public List<Contact> getConts() {
return conts;
}
public void setConts(List<Contact> conts) {
this.conts = conts;
}
public Contact getContactel() {
return contactel;
}
public void setContactel(Contact contact) {
this.contactel = contact;
}
@Remove @Destroy
public void destroy(){
}
}Thanks for your help .