JSP表达式语言在Apache Tiles中不起作用

时间:2016-03-31 09:05:50

标签: java spring jsp spring-mvc apache-tiles

您好我尝试迁移我的Spring MVC应用程序以使用Apache Tiles 3.0.5作为模板引擎。 但是,当我访问我的Web应用程序时,我的EL值不起作用。 我的价值来自ModelMap model

...
model.addAttribute("billings", billingService.getAllBillings());
...

这是我的弹簧配置。

...
<context:component-scan base-package="com.fanjavaid"></context:component-scan>
    <mvc:annotation-driven></mvc:annotation-driven>

    <mvc:resources location="/resources/" mapping="/resources/**"></mvc:resources>
    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
        <property name="definitions">
            <list>
                <value>/WEB-INF/tiles.xml</value>
                <value>/WEB-INF/views/**/views.xml</value>
            </list>
        </property>
    </bean>
    <bean id="tilesViewConfigurer" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.tiles3.TilesView</value>
        </property>
        <property name="order" value="0"></property>
    </bean>
...

以下是我的图块定义配置。

...
<tiles-definitions>
    <definition name="indexpage" extends="base.definition">
        <put-attribute name="title" value="Index"></put-attribute>
        <put-attribute name="header" value="/WEB-INF/views/includes/header.jsp"></put-attribute>
        <put-attribute name="body" value="/WEB-INF/views/index.jsp"></put-attribute>
    </definition>
    <definition name="listpage" extends="base.definition">
        <put-attribute name="title" value="List"></put-attribute>
        <put-attribute name="header" value="/WEB-INF/views/includes/header.jsp"></put-attribute>
        <put-attribute name="body" value="/WEB-INF/views/list.jsp"></put-attribute>
    </definition>
    <definition name="showpage" extends="base.definition">
        <put-attribute name="title" value="Show"></put-attribute>
        <put-attribute name="header" value="/WEB-INF/views/includes/header.jsp"></put-attribute>
        <put-attribute name="body" value="/WEB-INF/views/show.jsp"></put-attribute>
    </definition>
</tiles-definitions>    
...

我已经尝试放isElIgnored但它不起作用。 我可能会错过一些配置吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

就我而言,我有一个生成的web.xml以及扩展AbstractAnnotationConfigDispatcherServletInitializer(以替换web.xml)的AppInitizlier。当我删除web.xml时,el表达式开始工作。