08.09.2012
JEE6 Tutorial - Part 5 - Presentation Model (Backing Bean) anlegen
Im fünften Teil des Tutorials wird das Presentation Model (Backing Bean) angelegt. Diese zusätzliche Schicht wird eingeführt, um die Oberfläche klar von der Persistenz-Schicht zu trennen. Die Idee dazu kommt von Martin Fowler.
Als erstes wird Source Packages ausgewählt und zum Anlegen einer neuen Klasse die Tastenkombination ⌘+N verwendet. (oder im Hauptmenü File->New File...). In dem Wizard-Schritt Choose file type wird unter Categories der Ordner Java ausgewählt. Als File Type wird Java Class selektiert und mit Next bestätigt.
Im Wizard-Schritt Name and Location wird unter Class name der Wert UrlManagerPM eingetragen. Als Package wird org.hameister.urlmanager verwendet und mit Finish der Dialog geschlossen.
Anschliessend wird folgender Quellcode in der Klasse UrlManagerPM
hinzugefügt:
package org.hameister.urlmanager;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
/**
*
* @author Hameister
*/
@Named
@RequestScoped
public class UrlManagerPM {
private UrlManagerEntity entity = new UrlManagerEntity();
@EJB
UrlManagerBean bean;
public UrlManagerEntity getEntity() {
return entity;
}
public void setEntity(UrlManagerEntity entity) {
this.entity = entity;
}
public void store() {
System.out.println("Stored");
bean.addUrl(entity);
}
}
Als erstes wird eine Instanz UrlManagerEntity
erzeugt und ein UrlManagerBean
mit der Annotation @EJB
erstellt. Für das Data-Binding werden getter und setter für das Entity erstellt. Außerdem wird zum Speichern des Entity eine Funktion store()
ergänzt. Diese sagt der Bean, dass ein neues Datenbank-Entity hinzugefügt werden soll.
Hinweis: bean.add(enity)
lässt sich noch nicht kompilieren. Im nächsten Teil wird der Fehler behoben.
Im 6. Teil des Tutorials werden die einzelnen Komponenten verbunden, so dass die Anwendung lauffähig ist: Verbinden von JSF, Backing Bean, EJB und Datenbank-Entity