2013-02-20 61 views
0

我有一個spring-3.2.1/tiles-3.0.1項目,我用表達式語言處理tile。這意味着諸如${jukebox.name}這樣的表達式在瓦片屬性表達式中工作(例如,打印Metal Jukebox)。這是我tiles.xml文件:apache tiles:表達式語言停下來與maven一起工作

<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文件中,我有所有taglibs,但添加elignored=false沒有幫助。

Maven很可能與這一切無關,我只是不知道在哪裏尋找解決方案。

回答

1

嗯,它與maven有點關係。我忘了添加對tiles-el.jar的依賴。但沒有例外 - 這使得很難發現問題。感謝another post