<html> <head> <title>Grails Runtime Exception</title> <style type="text/css"> .message { border: 1px solid black; padding: 5px; background-color:#E9E9E9; } .stack { border: 1px solid black; padding: 5px; overflow:auto; height: 300px; } .snippet { padding: 5px; background-color:white; border:1px solid black; margin:3px; font-family:courier; } </style> </head> <body> <h1>Grails Runtime Exception</h1> <h2>Error Details</h2> <div class="message"> <strong>Error ${request.'javax.servlet.error.status_code'}:</strong> ${request.'javax.servlet.error.message'.encodeAsHTML()}<br/> <strong>Servlet:</strong> ${request.'javax.servlet.error.servlet_name'}<br/> <strong>URI:</strong> ${request.'javax.servlet.error.request_uri'}<br/> <g:if test="${exception}"> <strong>Exception Message:</strong> ${exception.message?.encodeAsHTML()} <br /> <strong>Caused by:</strong> ${exception.cause?.message?.encodeAsHTML()} <br /> <strong>Class:</strong> ${exception.className} <br /> <strong>At Line:</strong> [${exception.lineNumber}] <br /> <strong>Code Snippet:</strong><br /> <div class="snippet"> <g:each var="cs" in="${exception.codeSnippet}"> ${cs?.encodeAsHTML()}<br /> </g:each> </div> </g:if> </div> <g:if test="${exception}"> <h2>Stack Trace</h2> <div class="stack"> <pre><g:each in="${exception.stackTraceLines}">${it.encodeAsHTML()}<br/></g:each></pre> </div> </g:if> </body> </html>