Hallo,
ich bin immernoch dabei eine einfache Registrierung zu realisieren. Leider stosse ich andauernd auf irgendwelche Probleme.
Diesmal bekomem ich eine Fehlermeldung "/register.xhtml @13,100 value="#{registerBean.user.loginName}": Target Unreachable, 'null' returned null". Könnt Ihr mir da bitte weiterhelfen, ich verstehe nicht warum es nicht funktioniert. Eigentlich sind doch alle nöttigen Setter udn Getter definiert.
register.xhtml
registerBean
User
Gruß hyperion
ich bin immernoch dabei eine einfache Registrierung zu realisieren. Leider stosse ich andauernd auf irgendwelche Probleme.
Diesmal bekomem ich eine Fehlermeldung "/register.xhtml @13,100 value="#{registerBean.user.loginName}": Target Unreachable, 'null' returned null". Könnt Ihr mir da bitte weiterhelfen, ich verstehe nicht warum es nicht funktioniert. Eigentlich sind doch alle nöttigen Setter udn Getter definiert.
register.xhtml
Java:
<?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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Registrierung</title>
</h:head>
<h:body>
<h:form id="registerForm">
<h:panelGrid id="registerPanelGrid" columns="2">
<h:outputText value="Loginname:" />
<h:inputText id="loginName" value="#{registerBean.user.loginName}" maxlength="45"/>
<h:outputText value="Passwort:" />
<h:inputSecret id ="password" value="#{registerBean.user.password}" maxlength="45"/>
<h:outputText value="Name:" />
<h:inputText id="name" value="#{registerBean.person.name}" maxlength="45"/>
<h:outputText value="Vorname:" />
<h:inputText id="firstName" value="#{registerBean.person.firstName}" maxlength="45"/>
<h:outputText value="E-Mail:" />
<h:inputText id="mail" value="#{registerBean.user.mail}" maxlength="45"/>
<h:outputText value="Geburtstag:" />
<h:inputText id="birthday" value="#{registerBean.person.birthday}">
<f:convertDateTime pattern="dd.mm.yyyy"/>
</h:inputText>
<h:commandButton id="register" action="#{registerBean.register}" value="Login" />
</h:panelGrid>
</h:form>
</h:body>
</html>
registerBean
Java:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.classic.Session;
@ManagedBean(name="registerBean")
@SessionScoped
public class RegisterBean {
private Person person;
private User user;
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String register(){
Boolean isValidUser = user.validate();
Boolean isValidPerson = person.validate();
if (isValidUser && isValidPerson){
SessionFactory sf = HibernateSession.getSessionFactory();
Session session = null;
Transaction transaction = null;
try
{
session = sf.getCurrentSession();
transaction = session.beginTransaction();
session.save(user);
transaction.commit();
return "success";
}
catch (Exception e)
{
// rollback(transaction);
System.out.println(e.getMessage());
}
}
return "failed";
}
}
User
Java:
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
@Entity
@Table(name="User")
@SequenceGenerator(name="ID", initialValue=1, allocationSize=1)
public class User implements Serializable{
@Column(name = "ID", nullable = false)
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@Column(name = "LoginName", nullable = false)
private String loginName;
@Column(name = "LoginPassword", nullable = false)
private String loginPassword;
@Column(name = "PersonID", nullable = false)
@OneToOne
private Person person;
@Column(name = "Mail", nullable = false)
private String mail;
@Column(name = "RegisterDate", nullable = false)
@Temporal(javax.persistence.TemporalType.DATE)
private Date registerDate;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getLoginPassword() {
return loginPassword;
}
public void setLoginPassword(String loginPassword) {
this.loginPassword = loginPassword;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public Date getRegisterDate() {
return registerDate;
}
public void setRegisterDate(Date registerDate) {
this.registerDate = registerDate;
}
public Boolean validate(){
return true;
}
}
Gruß hyperion