2013-02-19 22 views
1

我剛剛用spring-mobile和apache-tiles創建了一個新的應用程序,我打算使用tile描述符來幫助我在目標平臺之間重用視圖組件。我想知道是否有人已經完成了這個以及構建應用程序的最佳方式。在過去,使用瓦片的瓦片描述符相當快速地加起來,將移動設備和平板電腦添加到組合中,我可以輕鬆地將其添加到組合中。有沒有簡單的方法來混合spring-mobile和apache-tiles來幫助使用常用元素?

到目前爲止,我有一個主磚的定義WEB-INF/layout/tiles.xml有三個佈局在這方面:

<tiles-definitions> 
    <definition name="layoutStandard" template="/WEB-INF/layout/standard.jsp"/> 
    <definition name="layoutMobile" template="/WEB-INF/layout/mobile.jsp"/> 
    <definition name="layoutTablet" template="/WEB-INF/layout/tablet.jsp"/> 
</tiles-definitions> 

,然後查看定義。

<tiles-definitions> 
    <definition name="home" extends="layoutStandard"> 
     <put-attribute name="body" value="/WEB-INF/views/home.jsp" /> 
    </definition> 
    <definition name="home.mob" extends="layoutMobile"> 
     <put-attribute name="body" value="/WEB-INF/views/home.mob.jsp" /> 
    </definition> 
    <definition name="home.tab" extends="layoutTablet"> 
     <put-attribute name="body" value="/WEB-INF/views/home.tab.jsp" /> 
    </definition> 
</tiles-definitions> 

我已經配置mobileSuffixtabletSuffix針對LiteDeviceDelegatingViewResolver所以沒有在我的控制器,其中也有enableFallback集,如果我不提供移動視圖定義效果很好大爲頭痛。

有沒有一種方法可以對瓷磚配置做類似的事情?即如果視圖名稱以.mob結尾,那麼使用layoutMobile而不是必須多次定義它?

回答

0

我只是做了以下內容:

添加到applicationContext.xml的

<mvc:interceptors> 
    <bean class="org.springframework.mobile.device.mvc.DeviceResolvingHandlerInterceptor" /> 
</mvc:interceptors> 

添加到tilesDefinition.xml

注:需要tiles.el.jar

<definition name="store" templateExpression="/jsp/home${layout}.jsp"> 
... 
<definition name="page" extends="store"> 
... 

添加到控制器

我用我所有的控制器,獲取我所有的pagetypes默認數據的單一方法。

if (!device.isNormal() || sitePreference.isMobile()) { 
    if (!sitePreference.isNormal()) { 
    layout = "-mobile";  
    } 
} 

我只使用手機,但您應該可以調整此功能以適用於手機或平板電腦。

我希望這會有所幫助。

+1

嗨託比,是不是'LiteDeviceDelegatingViewResolver.mobileSuffix'足夠讓你不需要檢查?我可以使用EL方法,但是這意味着我無法使用回退,對嗎? – 2013-03-01 01:34:08

+0

我的'佈局'特性只在需要移動視圖時設置,否則它是空字符串。對於更動態的配置,你總是可以使用java配置,例如http://forum.springsource.org/showthread.php?113701-Programmatic-Config-of-Tiles-with-Spring-3-1-Annotations – Toby 2013-03-01 18:57:53

相關問題