2017-10-30 95 views
6

Thymeleaf'ta bir ileti ifadesine bir fragman iletmek mümkün mü? Mesajlarda link oluşturmak için parçaları yeniden kullanmak istiyorum.Thymeleaf'ta bir ileti ifadesine bir fragman nasıl iletilir?

Benim parçası şöyle görünür:

<div th:fragment="link(url, text)" th:remove="tag"> 
    <a th:href="@{${url}}"><span>${text}</span></a> 
</div> 

ve böyle bir mesajım var:

home.welcome=Hello User! See new content at {0}. 

Şimdi mesaj ifadeye değerlendirilen fragman geçmek istiyorum (sözde kodu) :

<p th:utext="#{home.welcome(${link:: link(url='myUrl', text='myText')})}"></p> 

elde edilen HTML gibi görünmelidir:

<p> 
    Hello User! See new content at <a href="myUrl"><span>myText</span></a>. 
</p> 

Thymeleaf 3'te tanıtılan Fragment expressions'u keşfettim ancak gitmek için uygun olup olmadığından emin değilim.

cevap

-1

th: ile deneyebilirsiniz. böylece

<div th:include="fragments/common :: link" th:with="url='www.google.com', text='Click Me'"></div> 

gibi

Çağrı fragmanları Bu Bu

<div> 
    <a href="www.google.com"> 
     <span>Click Me</span> 
    </a> 
</div> 
+0

sayesinde alacak HTML sizin parçası

<div th:fragment="link" th:remove="tag"> <a th:href="@{${url}}"><span th:inline="text">[[${text}]]</span></a> </div> 

, ama bu Bakıyorum ne değildir için. Değişkenleri parçalara nasıl aktaracağımı biliyorum. Elde edilen HTML'yi bir mesaj ifadesine aktarmak için bir çözüm arıyorum. – Thomas

+0

Bu gereksinimleri daha iyi yansıtmak için sorumu düzenledim – Thomas