Est-il une méthode init donné pour struts2 classe d'action?
Est-il une méthode init prévue struts 2 classe de l'action qui peut être appelée avant chaque méthode de la classe d'action?
Par exemple, j'ai une classe d'action de struts 2 comme indiqué ci-dessous
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";
}
}
Maintenant dans le code ci-dessus lorsque struts action pour getAllEmployees()
et deleteEmplyee()
est appelé, je veux init()
méthode à exécuter en premier. On peut l'exécuter en appelant à partir de deux fonctions.
Mais est-il une disposition donnée dans struts 2 qui sera exécuté méthode init automatiquement à chaque appel ou struts 2 fournit la méthode pour l'action clases?
Merci de me dire si quelqu'un sait.
Grâce.
OriginalL'auteur amar4kintu | 2009-05-29
Vous devez vous connecter pour publier un commentaire.
Oui, il y a:
Tout d'abord, votre action de classe doit implémenter l' Preparable interface. Ensuite, votre action doit mettre en œuvre Preparable.prepare() de la méthode. Struts 2 exécutera prepare() à chaque fois avant d'appeler votre méthode d'action.
Acclamations.
OriginalL'auteur
Prendre un coup d'oeil à la Preparable de l'interface et de les Préparer Intercepteur.
lien mis à jour, merci.
OriginalL'auteur Guido
Préparer l'Intercepteur est le chemin à parcourir. Si votre action est par défaut à l'aide de l'intercepteur de la pile il suffit de renommer votre
init()
méthode pourprepare()
.Si votre action de classe a de multiples méthodes d'action (comme createEmployee() ou deleteEmployee ()), vous pouvez effectuer une préparation spécifique pour la méthode concrète avec la méthode nommée
prepare<*ActionMethodName*>()
(par exempleprepareDeleteEmployee()
).OriginalL'auteur rdk
Oui
Appelé après un intercepteur est créé, mais avant que toutes les demandes sont traitées à l'aide d'intercepter , de donner de l'Intercepteur une chance pour initialiser toutes les ressources nécessaires.
Voir ce
OriginalL'auteur Dhiral Pandya