Gibt es irgendeine init-Methode für die struts2 action-Klasse?
Gibt es irgendeine init-Methode für struts 2 action-Klasse aufgerufen werden kann, bevor jede Methode der action-Klasse?
Zum Beispiel habe ich eine Klasse Aktion für struts 2 wie unten angegeben
import com.opensymphony.xwork2.ActionSupport;
public class EmployeeAction extends ActionSupport{
private DepartmentDaoService deptService = new DepartmentDaoService() ;
private EmployeeDaoService empService = new EmployeeDaoService();
private Employee employee;
private List<Employee> employees;
private List<Department> departments;
public void init()
{
//Do initialization stuff here
}
public String getAllEmployees(){
employees = empService.getAllEmployees();
return "success";
}
public String deleteEmployee(){
empService.deleteEmployee(employee.getEmployeeId());
return "success";
}
}
Nun im obigen code, wenn die struts-Aktion für getAllEmployees()
und deleteEmplyee()
heißt ich will init()
Methode, um zuerst ausgeführt. Wir können führen Sie durch den Aufruf von Funktionen.
Aber gibt es eine Bestimmung gegeben, die in struts 2, die ausgeführt wird, init-Methode automatisch bei jedem Aufruf oder struts 2 stellt eine solche Methode für action clases?
Bitte sagen Sie mir, wenn jemand weiß.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, gibt es:
Sind vor allem Ihre action-Klasse implementieren muss, die Preparable-Schnittstelle. Dann, Ihre Aktion durchführen muss, Preparable.prepare () - Methode. Struts 2 ausführen von prepare() jedes mal, bevor Sie ruft Ihre action-Methode.
Cheers.
Werfen Sie einen Blick auf die Preparable-Schnittstelle und die Vorbereitung Interceptor.
Vorbereiten Interceptor-Weg zu gehen. Wenn Ihr handeln mit dem default-interceptor-stack nur umbenennen
init()
Methodeprepare()
.Wenn Ihr action-Klasse hat mehrere Methoden für die Aktionen (wie createEmployee() oder deleteEmployee ()), die Sie tun können, spezifische Vorbereitung auf konkrete Methode mit Methode mit dem Namen
prepare<*ActionMethodName*>()
(z.B.prepareDeleteEmployee()
).Ja
Aufgerufen, nachdem ein interceptor ist erstellt, aber bevor irgendwelche Anfragen verarbeitet werden, mit abfangen , was dem Jäger die Möglichkeit zum initialisieren aller benötigten Ressourcen.
Dies sehen