【问题标题】:Spring + Tiles how to use EL in tiles.xmlSpring + Tiles 如何在tiles.xml中使用EL
【发布时间】:2026-01-26 23:25:01
【问题描述】:

我在我的 spring 项目中设置了图块作为视图处理程序,如下所示:

<bean class="org.springframework.web.servlet.view.tiles2.TilesViewResolver" />
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/views/**/tiles.xml</value>
        </list>
    </property>
</bean>

我想使用 EL 访问 tiles.xml 中的会话范围,以解析 jsp 文件名。如果我使用 CompleteAutoloadTilesContainerFactory,这应该是可能的,如下所述:

http://tiles.apache.org/framework/tutorial/advanced/el-support.html

如何设置我的弹簧瓷砖配置以允许这样做。我尝试使用当前设置的 EL,但未解析 EL。

【问题讨论】:

    标签: java spring el tiles


    【解决方案1】:

    想通了,我留下了完全相同的配置,只包含了 tiles-el.jar 。不过不需要包含tiles-extras.jar。 NFV

    【讨论】:

      【解决方案2】:

      您可以尝试设置 TilesConfigurer 类的 completeAutoload 属性。请参阅参考文档TilesConfirurer

      这可能需要 Tiles-Extras 2.2 jar 文件。

      【讨论】:

      • 是的,我注意到该设置并尝试设置 bean 以将其设置为 true。我不明白如何处理注释中所说的内容:注意:指定完全自动加载模式会有效地禁用此配置器上的所有其他 bean 属性。然后将整个初始化过程留给 CompleteAutoloadTilesInitializer。无论如何我运行了这个项目并不断收到这个异常:java.lang.ClassNotFoundException: org.apache.tiles.servlet.wildcard.WildcardServletTilesApplicationContext