2017-04-05 45 views
2

所以我有以下代碼:在Thymeleaf中動態創建消息引用?

<h3 th:if="#{${'footer.message.' + receiptProperties.url}? : '(NOTHING)'}" th:utext="#{${'footer.message.' + receiptProperties.url}}"></h3> 

receiptProperties.url =給承租人的名稱,如ABC,DEF等,所以在messages.properties文件的密鑰會是這樣的footer.message.ABC =你好ABC!

動態創建的消息密鑰顯示正確,但是,如果該鍵如footer.message.GHI中不存在的屬性文件,然後代替不是在所有顯示任何內容,以下示出在頁面上:?? footer.message.GHI_en ??

有沒有什麼方法可以在Thymeleaf中精確檢查動態已創建密鑰是否存在於屬性文件中?

回答

2

messages utility對象具有可用於此的方法。您可以使用如下表達式:

${#messages.msgOrNull('footer.message.' + receiptProperties.url) == null ? 'Invalid key' : 'Valid key'}