// if you change the supported parameter classes, make sure to update the documentation on the // wiki private Object handleRequestWithController(PageContext context) throws PageAction { Map<Class<?>, Object> possibleArguments = new HashMap<Class<?>, Object>(); possibleArguments.put(PageContext.class, context); possibleArguments.put(PageModel.class, context.getModel()); possibleArguments.put(Model.class, context.getModel()); possibleArguments.put(Map.class, context.getModel()); possibleArguments.put(PageRequest.class, context.getRequest()); possibleArguments.put(HttpServletRequest.class, context.getRequest().getRequest()); possibleArguments.put(Session.class, context.getRequest().getSession()); possibleArguments.put(ApplicationContext.class, applicationContext); possibleArguments.put(UiUtils.class, new PageUiUtils(context)); if (possiblePageControllerArgumentProviders != null) { for (PossiblePageControllerArgumentProvider provider : possiblePageControllerArgumentProviders) { provider.addPossiblePageControllerArguments(possibleArguments); } } String httpRequestMethod = context.getRequest().getRequest().getMethod(); return UiFrameworkUtil.executeControllerMethod( context.getController(), httpRequestMethod, possibleArguments, conversionService); }