我有一个 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很可能与这一切无关,我只是不知道在哪里寻找解决方案。