public class UifControllerHandlerInterceptor extends Object implements org.springframework.web.servlet.HandlerInterceptor
Provides infrastructure for preparing the form and view before and after the controller is invoked. Included in this is form session management and preparation of the view for rendering
Constructor and Description |
---|
UifControllerHandlerInterceptor() |
Modifier and Type | Method and Description |
---|---|
void |
afterCompletion(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Object handler,
Exception ex)
After the view is rendered remove the view to reduce the size of the form storage in memory.
|
protected boolean |
checkForMethodAccess(javax.servlet.http.HttpServletRequest request)
Checks whether access to the handler method is allowed based available methods or accessible methods
on view configuration.
|
protected void |
checkHandlerMethodAccess(javax.servlet.http.HttpServletRequest request,
Object handler)
Checks whether access is allowed for the requested controller method.
|
protected void |
createUifFormManagerIfNecessary(javax.servlet.http.HttpServletRequest request)
Checks if a form manager is present in the session, and if not creates a form manager and adds to the
session and global variables.
|
protected ModelAndViewService |
getModelAndViewService() |
void |
postHandle(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Object handler,
org.springframework.web.servlet.ModelAndView modelAndView)
After the controller logic is executed, the form is placed into session and the corresponding view
is prepared for rendering.
|
boolean |
preHandle(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Object handler)
Before the controller executes the user session is set on GlobalVariables
and messages are cleared, in addition setup for the history manager and a check on missing session
forms is performed.
|
void |
setModelAndViewService(ModelAndViewService modelAndViewService) |
public UifControllerHandlerInterceptor()
public boolean preHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler) throws Exception
preHandle
in interface org.springframework.web.servlet.HandlerInterceptor
Exception
protected void checkHandlerMethodAccess(javax.servlet.http.HttpServletRequest request, Object handler) throws Exception
First a check is done on the method to determine whether it contains the annotation
MethodAccessible
. If so, access is allowed. If the
annotation is not present, data from the posted view (if any) is referenced to determine
whether the method was configured as an accessible method to call.
If method access is not allowed, a MethodAccessException
is thrown.
request
- HTTP request (used to retrieve parameters)handler
- handler method that was determined based on the request and mappingsException
protected boolean checkForMethodAccess(javax.servlet.http.HttpServletRequest request)
Since this method is invoked before the request form is setup, we need to retrieve the session form form the form manager. In the case of missing post data (GET requests), view method access is not granted.
request
- HTTP request to retrieve parameters fromprotected void createUifFormManagerIfNecessary(javax.servlet.http.HttpServletRequest request)
request
- http request being handledpublic void postHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, org.springframework.web.servlet.ModelAndView modelAndView) throws Exception
postHandle
in interface org.springframework.web.servlet.HandlerInterceptor
Exception
public void afterCompletion(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, Exception ex) throws Exception
afterCompletion
in interface org.springframework.web.servlet.HandlerInterceptor
Exception
protected ModelAndViewService getModelAndViewService()
public void setModelAndViewService(ModelAndViewService modelAndViewService)
Copyright © 2005–2016 The Kuali Foundation. All rights reserved.