我有一个spring-3.2.1 / tiles-3.0.1项目,我的表达语言使用了tile。这意味着${jukebox.name}
等表达式在tile属性表达式中起作用(例如打印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文件中,我有所有taglib,但添加elignored=false
没有帮助。
Maven很可能与这一切无关,我只是不知道在哪里寻找解决方案。