2011-02-22 90 views
1

自動化體的進口,我有以下的瓷磚,def.xml:如何與Apache瓷磚和Spring MVC

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE tiles-definitions PUBLIC 
    "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
    "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> 
<tiles-definitions> 
<definition name="default" template="/WEB-INF/jsp/layout.jsp"> 
    <put-attribute name="title" value="my webapp" /> 
    <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" /> 
    <put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp" /> 
    <put-attribute name="body" value="/WEB-INF/jsp/hello.jsp" /> 
    <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" /> 
</definition> 

<definition name="contact" extends="default"> 
    <put-attribute name="body" value="/WEB-INF/jsp/contact.jsp" /> 
</definition> 

<definition name="hello" extends="default"> 
    <put-attribute name="body" value="/WEB-INF/jsp/hello.jsp" /> 
</definition> 
</tiles-definitions> 

正如你所看到的,在我所有的網頁,只是身體的變化。有沒有辦法讓這個自動化? (所以它會自動包含具有所請求頁面名稱的jsp,或者如果不存在則顯示錯誤頁面?)

謝謝!

編輯:什麼我想要做的更多細節:

現在它是如何: 對於我的web應用程序的每一個新的頁面,我有一個新的添加到我的地磚,def.xml。每次,它所做的唯一事情就是將內容頁面設置爲正文。

我想這樣做: 只要有一個默認的定義自動選擇的頁面來顯示,這樣的事情:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE tiles-definitions PUBLIC 
    "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
    "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> 
<tiles-definitions> 
<definition name="default" template="/WEB-INF/jsp/layout.jsp"> 
    <put-attribute name="title" value="my webapp" /> 
    <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" /> 
    <put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp" /> 
    if(myPageName exists){ 
     <put-attribute name="body" value="/WEB-INF/jsp/" + myPageName + ".jsp" /> 
    else{ 
     <put-attribute name="body" value="/WEB-INF/jsp/error404.jsp" /> 
    } 
    <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" /> 
</definition> 
</tiles-definitions> 

凡myPageName將請求的頁面的名稱(如果網址是「http://www.mysite.com/contact.html」,那麼myPageName就是「聯繫人」,如果是「http://www.mysite.com/info.html」,那麼myPageName就是「info 「)。

我該怎麼做?

+0

你能更具體嗎? – tkt986 2011-02-22 22:13:41

+1

@tsegay:我編輯了我的第一篇文章更多的信息。謝謝。 – nbarraille 2011-02-23 03:40:30

+0

您是否找到解決方案? – blank 2012-04-08 19:11:33

回答