public AttributeEvaluator createEvaluator() { ELAttributeEvaluator evaluator = new ELAttributeEvaluator(); evaluator.setExpressionFactory( JspFactory.getDefaultFactory().getJspApplicationContext(servletContext).getExpressionFactory()); evaluator.setResolver(new CompositeELResolverImpl()); return evaluator; } }
public CompositeELResolverImpl() { add(new ScopeELResolver()); add(new TilesContextELResolver(new TilesContextBeanELResolver())); add(new TilesContextBeanELResolver()); add(new ArrayELResolver(false)); add(new ListELResolver(false)); add(new MapELResolver(false)); add(new ResourceBundleELResolver()); add(new BeanELResolver(false)); } }
/** {@inheritDoc} */ @Override public VariableMapper getVariableMapper() { if (this.variableMapper == null) { this.variableMapper = new VariableMapperImpl(); } return this.variableMapper; }
/** * Creates the EL evaluator. * * @param applicationContext The Tiles application context. * @return The EL evaluator. */ private ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { ELAttributeEvaluator evaluator = new ELAttributeEvaluator(); JspExpressionFactoryFactory efFactory = new JspExpressionFactoryFactory(); efFactory.setApplicationContext(applicationContext); evaluator.setExpressionFactory(efFactory.getExpressionFactory()); ELResolver elResolver = new CompositeELResolver() { { BeanELResolver beanElResolver = new BeanELResolver(false); add(new ScopeELResolver()); add(new TilesContextELResolver(beanElResolver)); add(new TilesContextBeanELResolver()); add(new ArrayELResolver(false)); add(new ListELResolver(false)); add(new MapELResolver(false)); add(new ResourceBundleELResolver()); add(beanElResolver); } }; evaluator.setResolver(elResolver); return evaluator; }
private AttributeEvaluator createELEvaluator(ApplicationContext context) { if (tilesElPresent) { ELAttributeEvaluator evaluator = new ELAttributeEvaluator(); if (new JspExpressionHelper().setExpressionFactory(evaluator)) { evaluator.setResolver(new CompositeELResolverImpl()); return evaluator; } } return new DirectAttributeEvaluator(); } }
public static AttributeEvaluator createEvaluator(TilesApplicationContext applicationContext) { ELAttributeEvaluator evaluator = new ELAttributeEvaluator(); evaluator.setApplicationContext(applicationContext); evaluator.init(Collections.<String, String>emptyMap()); return evaluator; } }
public CompositeELResolverImpl() { add(new ScopeELResolver()); add(new TilesContextELResolver(new TilesContextBeanELResolver())); add(new TilesContextBeanELResolver()); add(new ArrayELResolver(false)); add(new ListELResolver(false)); add(new MapELResolver(false)); add(new ResourceBundleELResolver()); add(new BeanELResolver(false)); } }
public CompositeELResolverImpl() { TilesContextBeanELResolver resolver = new TilesContextBeanELResolver(); add(new TilesContextELResolver(resolver)); add(resolver); add(new ArrayELResolver(false)); add(new ListELResolver(false)); add(new MapELResolver(false)); add(new ResourceBundleELResolver()); add(new BeanELResolver(false)); } }
public boolean setExpressionFactory(ELAttributeEvaluator evaluator) { try { // jsp-api-2.1 doesn't default instantiate a factory for us JspFactory factory = JspFactory.getDefaultFactory(); if ((factory != null) && (factory.getJspApplicationContext(servletContext).getExpressionFactory() != null)) { logger.info("Found JSP 2.1 ExpressionFactory"); evaluator.setExpressionFactory(factory.getJspApplicationContext(servletContext).getExpressionFactory()); return true; } } catch (Throwable ex) { logger.warn("Could not obtain JSP 2.1 ExpressionFactory", ex); } return false; } }
/** {@inheritDoc} */ public Object evaluate(String expression, Request request) { ELContextImpl context = new ELContextImpl(resolver); context.putContext(Request.class, request); context.putContext(ApplicationContext.class, request.getApplicationContext()); ValueExpression valueExpression = expressionFactory .createValueExpression(context, expression, Object.class); return valueExpression.getValue(context); } }
/** {@inheritDoc} */ @Override public Object getValue(ELContext context, Object base, Object property) { if (base != null) { return null; } Object retValue = findObjectByProperty(context, property); if (retValue != null) { context.setPropertyResolved(true); } return retValue; }
/** {@inheritDoc} */ @Override public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base) { List<FeatureDescriptor> list = new ArrayList<FeatureDescriptor>(); Request request = (Request) context .getContext(Request.class); for (String scope : request.getAvailableScopes()) { collectBeanInfo(request.getContext(scope), list); } return list.iterator(); }
/** * Finds an object in request, session or application scope, in this order. * * @param context The context to use. * @param property The property used as an attribute name. * @return The found bean, if it exists, or <code>null</code> otherwise. * @since 2.2.1 */ protected Object findObjectByProperty(ELContext context, Object property) { Object retValue = null; Request request = (Request) context .getContext(Request.class); String prop = property.toString(); String[] scopes = request.getAvailableScopes().toArray(new String[0]); int i = 0; do { retValue = getObject(request.getContext(scopes[i]), prop); i++; } while (retValue == null && i < scopes.length); return retValue; }
protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { if (JspFactory.getDefaultFactory() == null) { LOG.warn("JspFactory.getDefaultFactory returned null, EL support will be disabled"); return null; } ELAttributeEvaluator evaluator = new ELAttributeEvaluator(); JspExpressionFactoryFactory efFactory = new JspExpressionFactoryFactory(); efFactory.setApplicationContext(applicationContext); evaluator.setExpressionFactory(efFactory.getExpressionFactory()); ELResolver elResolver = new CompositeELResolver() { { BeanELResolver beanElResolver = new BeanELResolver(false); add(new ScopeELResolver()); add(new TilesContextELResolver(beanElResolver)); add(new TilesContextBeanELResolver()); add(new ArrayELResolver(false)); add(new ListELResolver(false)); add(new MapELResolver(false)); add(new ResourceBundleELResolver()); add(beanElResolver); } }; evaluator.setResolver(elResolver); return evaluator; }
public AttributeEvaluator createEvaluator() { ELAttributeEvaluator evaluator = new ELAttributeEvaluator(); evaluator.setExpressionFactory( JspFactory.getDefaultFactory().getJspApplicationContext(servletContext).getExpressionFactory()); evaluator.setResolver(new CompositeELResolverImpl()); return evaluator; } }
public CompositeELResolverImpl() { add(new ScopeELResolver()); add(new TilesContextELResolver(new TilesContextBeanELResolver())); add(new TilesContextBeanELResolver()); add(new ArrayELResolver(false)); add(new ListELResolver(false)); add(new MapELResolver(false)); add(new ResourceBundleELResolver()); add(new BeanELResolver(false)); } }
/** {@inheritDoc} */ @Override public Class<?> getType(ELContext context, Object base, Object property) { if (base != null) { return null; } Object obj = findObjectByProperty(context, property); if (obj != null) { context.setPropertyResolved(true); return obj.getClass(); } return null; }
public AttributeEvaluator createEvaluator() { ELAttributeEvaluator evaluator = new ELAttributeEvaluator(); evaluator.setExpressionFactory( JspFactory.getDefaultFactory().getJspApplicationContext(servletContext).getExpressionFactory()); evaluator.setResolver(new CompositeELResolverImpl()); return evaluator; } }
@Override protected AttributeEvaluatorFactory createAttributeEvaluatorFactory(ApplicationContext applicationContext, LocaleResolver resolver) { AttributeEvaluator evaluator; if (tilesElPresent && JspFactory.getDefaultFactory() != null) { ServletContext context = (ServletContext) applicationContext.getContext(); ELAttributeEvaluator elEvaluator = new ELAttributeEvaluator(); elEvaluator.setExpressionFactory(JspFactory.getDefaultFactory().getJspApplicationContext(context).getExpressionFactory()); CompositeELResolver compositeELResolver = new CompositeELResolver(); compositeELResolver.add(new SimpleSpringBeanELResolver(beanFactory)); elEvaluator.setResolver(compositeELResolver); evaluator = elEvaluator; } else { evaluator = new DirectAttributeEvaluator(); } return new BasicAttributeEvaluatorFactory(evaluator); }