0

我有一个 spring-3.2.1/tiles-3.0.1 项目,在那里我使用了表达式语言来处理瓷砖。这意味着诸如${jukebox.name}在平铺属性表达式中工作的表达式(Metal Jukebox例如打印)。这是我的tiles.xml文件:

<definition name="t.jukebox" extends="t.base">
    <put-attribute name="body" value="/WEB-INF/jsp/jukebox.jsp"/>
    <put-attribute name="title" expression="${jukebox.name} - lyricsBase"/>
</definition>

<definition name="t.song" extends="t.base">
    <put-attribute name="body" value="/WEB-INF/jsp/song.jsp"/>
    <put-attribute name="title" expression="${song.title} - ${song.author} in ${jukebox.name}"/>
</definition>

<definition name="t.static/about" extends="t.base">
    <put-attribute name="body" value="/WEB-INF/static/about.jsp"/>
    <put-attribute name="title" value="lyricsBase: about"/>
</definition>

我的控制器如下所示 - 一个对象被传递给布局,它有一些特定的 getter 方法(例如 getName()):

public ModelAndView handleRequest(
        HttpServletRequest httpServletRequest,
        HttpServletResponse httpServletResponse) throws Exception {
    return new ModelAndView("t.jukebox", "jukebox", facade);
}

一切正常。最近,我决定搬到Maven。完成所有工作后,所有依赖项都已修复并成功构建,但我失去了动态切片表达式功能,找不到原因。有人建议添加

<%@ page isELIgnored="false" %>

到页面,但我不知道具体在哪里。到基本平铺布局还是到子级?我有一个 include.jsp,包含在所有 jsp 文件中,其中我有所有标记库,但添加elignored=false没有帮助。

Maven很可能与这一切无关,我只是不知道在哪里寻找解决方案。

4

1 回答 1

1

好吧,它与maven有关。我忘了添加对tiles-el.jar的依赖。但是没有抛出异常 - 这使得很难发现问题。感谢另一个帖子

于 2013-02-20T22:03:03.787 回答