code: private Map<String, Object> getContext(PortletRequest request) {
          Map<String, Object> context = new HashMap<String, Object>();
  
          context.put("property", properties);
  
          Map<String, String> requestMap = new HashMap<String, String>();
          Enumeration<String> names = request.getParameterNames();
          while (names.hasMoreElements()) {
              String name = names.nextElement();
              requestMap.put(name, request.getParameter(name));
          }
          
          context.put( "server", request.getServerName());
          context.put( "port", request.getServerPort());
          context.put( "protocol", request.getScheme());
          context.put( "contextPath", request.getContextPath());
          
          context.put("request", request);
          context.put("requestParam", requestMap);
  
          Map<String, String> userInfo = (Map<String, String>)request.getAttribute(PortletRequest.USER_INFO);
          context.put("user", userInfo);
  
          
          return context;
      }
docs: Setup the context for spring EL.   Will add all properties from an optional properties file as
  ${property['propKey']}, the request parameters as ${requestParam.xxx}, the
  PortletRequest as ${request.xxx} and user info as ${user}.  Examples
  
  ${protocol}://${server}:${port}/${contextPath}/view?param=${requestParam.param}
  ${protocol}://${server}:${port}/${contextPath}/view/${requestParam['form.itemId']}
  ${protocol}://${server}:${port}/${contextPath}/view?userId=${user['user.login.id']}
  ${protocol}://${server}:${port}/${contextPath}/view?action=${property['proxy.action.key']}
  
  ${server}, ${port}, ${protocol}, and ${contextPath} are also available which are the
  values for accessing the particular portlet (contextPath in particular is the portlet webapp's
  context path name).
  
  The Spring EL context will include all properties from app-launcher.properties, all request
  parameters namespaced as "request" and all properties from the user-info map namespaced as "user". Examples:
  
  @param request the portlet request to read params from
  @return a map of properties