Problema
Ao tentar excluir uma página por meio de programação, você recebe um erro semelhante ao seguinte:
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 em com.day.jasper40.runtime.JspRuntimeLibrary.handlePageException (JspRuntimeLibrary.java:891) 10:09:38 em apps.daytest.templates.test.start $ jsp._jspService(start$jsp.java:134) 10:09:38 em com.day.jasper40.runtime.HttpJspBase.service(HttpJspBase.java:107) 10:09:38 em javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 10:09:38 em com.day.cq.jsp.JspHandler.doCallInternal(JspHandler.java:342)
Você usou um código semelhante ao seguinte:
se(pageToDelete.exists())
{
tente
{ pageToDelete.startTransaction();
pageToDelete.delete(false);
pageToDelete.commit();
}catch(Exception e) {
pageToDelete.rollback(); }
}
Solução
Remova o código da transação. Por exemplo:
if(pageToDelete.exists()) { try { pageToDelete.delete(false); }catch(Exception e) { log.error(e.getMessage(), e); } }
Informações adicionais
Não é necessário usar nenhum código de transação para excluir uma página.
Fazer logon em sua conta