Shows error page when unexpected exceptions are thrown from controllers.
Skinny Rendering Filter.
Enables replacing Servlet session with Skinny's session shared among several Servlet apps.
Enables replacing Servlet session with Skinny's session shared among several Servlet apps.
Mounting skinny.session.SkinnySessionInitializer on the top of Bootstrap.scala is required.
ctx.mount(classOf[SkinnySessionInitializer], "/\*")
Shows error page when unexpected exceptions are thrown from controllers.
Skinny Filter.
Skinny Filter.
For example:
class BooksController extends SkinnyController with TxPerRequestFiler with SkinnyFilterActivation { // within a transaction def changeTitle = { if (...) { throw new UnexpectedErrorException // rollback } else { redirect(s"/books/${id}") // commit } } }
If you use Skinny Micro's filter - before/after, be careful. It's pretty tricky. Because Skinny Micro's filters would be applied for all the controllers defined below in Bootstrap. Just using beforeAction/afterAction is highly recommended.
Activates skinny filters.
Skinny Rendering Filter.
Skinny Rendering Filter.
If you use Skinny Micro's filter (before/after not beforeAction/afterAction), be careful. It's pretty tricky. Skinny Micro's filters would be applied for all the controllers defined below in Bootstrap.
Enables replacing Servlet session with Skinny's session shared among several Servlet apps.
Enables replacing Servlet session with Skinny's session shared among several Servlet apps.
Mounting skinny.session.SkinnySessionInitializer on the top of Bootstrap.scala is required.
ctx.mount(classOf[SkinnySessionInitializer], "/\*")
A filter which enables controller wired with a single transactional DB session.
Skinny Rendering Filter.
If you use Skinny Micro's filter (before/after not beforeAction/afterAction), be careful. It's pretty tricky. Skinny Micro's filters would be applied for all the controllers defined below in Bootstrap.