2013-10-18 42 views
0

總結,我需要找到一種方法來使用Thymeleaf模板中的.properties文件中的值。在Thymeleaf模板中使用外部.properties

在細節現在,我希望有我的網頁上谷歌Analytics(分析)。有開發和生產應用程序構建配置文件。每個配置文件都有其目錄的屬性。帳戶詳細信息位於這些屬性文件中。

現在我分配相應的值變量模型,並使用它們。

<script type="text/javascript" th:inline="javascript"> 
    var _gaq = _gaq || []; 
    var _gaId = /*[[${googleAnalyticsId}]]*/'';//these are the variables I'm talking about 
    var _gaDomainName = /*[[${googleAnalyticsDomainName}]]*/''; 
    _gaq.push(['_setAccount', _gaId]); 
    _gaq.push(['_setDomainName', _gaDomainName]); 
    _gaq.push(['_trackPageview']); 
</script> 

但它看起來很骯髒,更不用說爲了改變任何這些值而需要做的操縱。

我想在頁面模板中做的事情就是指向屬性名稱,就像我們在Spring中使用@Value一樣。例如。

<script type="text/javascript" th:inline="javascript"> 
    var _gaq = _gaq || []; 
    var _gaId = /*[[${google.analytics.id}]]*/'';//I want to assign values directly from the properties file 
    var _gaDomainName = /*[[${google.analytics.domain.name}]]*/''; 
    _gaq.push(['_setAccount', _gaId]); 
    _gaq.push(['_setDomainName', _gaDomainName]); 
    _gaq.push(['_trackPageview']); 
</script> 

在此先感謝。

+0

你試過''#代替的'$',而讀取屬性值?像'#{google.analytics.id}'所有的 – Lucky

回答

0

爲什麼你不能使用#{googleAnalyticsDomainName}標準的消息來源呢?

+0

首先,信息的碎片都沒有消息,所以他們不能進入信息包,如果你提供什麼。和好,其次,我不知道如何指定thymeleaf發動機的另一個消息源。 –

+0

@ElijahSaounkine您可以使用addDefaultMessage的StandardResolver簡單的看向API,也許還有更好的方法。 – niels