TilesConfigurer only sets up EL support if JSP 2.1 is present (for JSP 2.0 compatibility; SPR-6309)
This commit is contained in:
parent
b321376703
commit
4e233047c8
|
|
@ -28,6 +28,7 @@ import org.apache.tiles.context.AbstractTilesApplicationContextFactory;
|
||||||
import org.apache.tiles.definition.DefinitionsFactory;
|
import org.apache.tiles.definition.DefinitionsFactory;
|
||||||
import org.apache.tiles.definition.digester.DigesterDefinitionsReader;
|
import org.apache.tiles.definition.digester.DigesterDefinitionsReader;
|
||||||
import org.apache.tiles.evaluator.el.ELAttributeEvaluator;
|
import org.apache.tiles.evaluator.el.ELAttributeEvaluator;
|
||||||
|
import org.apache.tiles.evaluator.impl.DirectAttributeEvaluator;
|
||||||
import org.apache.tiles.factory.TilesContainerFactory;
|
import org.apache.tiles.factory.TilesContainerFactory;
|
||||||
import org.apache.tiles.preparer.BasicPreparerFactory;
|
import org.apache.tiles.preparer.BasicPreparerFactory;
|
||||||
import org.apache.tiles.servlet.context.ServletTilesApplicationContext;
|
import org.apache.tiles.servlet.context.ServletTilesApplicationContext;
|
||||||
|
|
@ -39,6 +40,7 @@ import org.apache.tiles.web.util.ServletContextAdapter;
|
||||||
|
|
||||||
import org.springframework.beans.factory.DisposableBean;
|
import org.springframework.beans.factory.DisposableBean;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
import org.springframework.util.ClassUtils;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.context.ServletContextAware;
|
import org.springframework.web.context.ServletContextAware;
|
||||||
|
|
@ -48,7 +50,9 @@ import org.springframework.web.context.ServletContextAware;
|
||||||
* <a href="http://tiles.apache.org">http://tiles.apache.org</a>
|
* <a href="http://tiles.apache.org">http://tiles.apache.org</a>
|
||||||
* for more information about Tiles, which basically is a templating
|
* for more information about Tiles, which basically is a templating
|
||||||
* mechanism for JSP-based web applications.
|
* mechanism for JSP-based web applications.
|
||||||
|
*
|
||||||
* <b>Note: Spring 3.0 requires Tiles 2.1.2 or above.</b>
|
* <b>Note: Spring 3.0 requires Tiles 2.1.2 or above.</b>
|
||||||
|
* Tiles EL support will be activated by default when running on JSP 2.1 or above.
|
||||||
*
|
*
|
||||||
* <p>The TilesConfigurer simply configures a TilesContainer using a set of files
|
* <p>The TilesConfigurer simply configures a TilesContainer using a set of files
|
||||||
* containing definitions, to be accessed by {@link TilesView} instances. This is a
|
* containing definitions, to be accessed by {@link TilesView} instances. This is a
|
||||||
|
|
@ -82,6 +86,9 @@ import org.springframework.web.context.ServletContextAware;
|
||||||
*/
|
*/
|
||||||
public class TilesConfigurer implements ServletContextAware, InitializingBean, DisposableBean {
|
public class TilesConfigurer implements ServletContextAware, InitializingBean, DisposableBean {
|
||||||
|
|
||||||
|
private static final boolean jsp21Present = ClassUtils.isPresent(
|
||||||
|
"javax.servlet.jsp.JspApplicationContext", TilesConfigurer.class.getClassLoader());
|
||||||
|
|
||||||
protected final Log logger = LogFactory.getLog(getClass());
|
protected final Log logger = LogFactory.getLog(getClass());
|
||||||
|
|
||||||
private final Properties tilesPropertyMap = new Properties();
|
private final Properties tilesPropertyMap = new Properties();
|
||||||
|
|
@ -94,12 +101,12 @@ public class TilesConfigurer implements ServletContextAware, InitializingBean, D
|
||||||
WildcardServletTilesApplicationContextFactory.class.getName());
|
WildcardServletTilesApplicationContextFactory.class.getName());
|
||||||
this.tilesPropertyMap.put(TilesContainerFactory.PREPARER_FACTORY_INIT_PARAM,
|
this.tilesPropertyMap.put(TilesContainerFactory.PREPARER_FACTORY_INIT_PARAM,
|
||||||
BasicPreparerFactory.class.getName());
|
BasicPreparerFactory.class.getName());
|
||||||
|
this.tilesPropertyMap.put(TilesContainerFactory.CONTAINER_FACTORY_MUTABLE_INIT_PARAM,
|
||||||
|
Boolean.toString(false));
|
||||||
this.tilesPropertyMap.put(DefinitionsFactory.LOCALE_RESOLVER_IMPL_PROPERTY,
|
this.tilesPropertyMap.put(DefinitionsFactory.LOCALE_RESOLVER_IMPL_PROPERTY,
|
||||||
SpringLocaleResolver.class.getName());
|
SpringLocaleResolver.class.getName());
|
||||||
this.tilesPropertyMap.put(TilesContainerFactory.ATTRIBUTE_EVALUATOR_INIT_PARAM,
|
this.tilesPropertyMap.put(TilesContainerFactory.ATTRIBUTE_EVALUATOR_INIT_PARAM,
|
||||||
ELAttributeEvaluator.class.getName());
|
jsp21Present ? ELAttributeEvaluator.class.getName() : DirectAttributeEvaluator.class.getName());
|
||||||
this.tilesPropertyMap.put(TilesContainerFactory.CONTAINER_FACTORY_MUTABLE_INIT_PARAM,
|
|
||||||
Boolean.toString(false));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue