Problème

Lorsque vous tentez de supprimer une page par programmation, vous recevez une erreur semblable à ce qui suit :

10:09:38 *ERROR* delivery: Unhandled Exception: javax.servlet.ServletException: Page '/content/playground/en/test' does not exist.javax.servlet.ServletException: Page '/content/playground/en/test' does not exist. 10:09:38 at com.day.jasper40.runtime.JspRuntimeLibrary.handlePageException(JspRuntimeLibrary.java:891) 10:09:38 at apps.daytest.templates.test.start$jsp._jspService(start$jsp.java:134) 10:09:38 at com.day.jasper40.runtime.HttpJspBase.service(HttpJspBase.java:107) 10:09:38 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 10:09:38 at com.day.cq.jsp.JspHandler.doCallInternal(JspHandler.java:342)

Le code utilisé est similaire à ce qui suit :

if(pageToDelete.exists())

{

try

{ pageToDelete.startTransaction();

pageToDelete.delete(false);

pageToDelete.commit();

}catch(Exception e) {

pageToDelete.rollback(); }

}

Solution

Supprimez le code de transaction. Par exemple :

if(pageToDelete.exists()) { try { pageToDelete.delete(false); }catch(Exception e) { log.error(e.getMessage(), e); } }

Informations supplémentaires

Il n’est pas nécessaire d’utiliser un code de transaction pour supprimer une page.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne