Yourjewelz
Messages postés2Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention11 décembre 2009
-
9 déc. 2009 à 22:34
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 2011
-
11 déc. 2009 à 10:20
Bonjour à tous,
J'ai un petit souci. Dans le cadre de mon projet web, j'ai implémenté une architecture MVC comme ceci:
Modèle (persistance avec TopLink)
Vue (JSP)
Controleur (Servlet)
L'utilisateur appel le controleur par exemple avec la méthode doGet qui renvoit la vue correspondante.
Pour l'instant tout va bien, sauf que lorsque j'essaye d'utiliser mon modèle dans mon controleur:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProjetPU");
EntityManager em = emf.createEntityManager();
Test test = new Test();
test.setCle(10);
EntityTransaction et = em.getTransaction();
et.begin();
em.persist(editeur);
getServletContext().getRequestDispatcher((String)params.get("urlIndex")).forward(request, response);
}
Le problème c'est que la méthode persist fait renvoyer une page blanche (je me doute qu'il n'arrive pas jusqu'au forward).
Si je mets la transaction et le persist après le forward ca ne plante pas mais bien sur aucune donnée n'est ajoutée à la base (il sort de la méthode au forward apparament).
Est-ce qu'il y a un moyen de me permettre de mettre à jour une donnée dans mon controleur? Quelqu'un connait-il la solution à mon problème?