2017-05-28 50 views
1

所以我嘗試爲我的spring應用程序創建一個簡單的頁面佈局,只是一個標題和一個內容。 一般來說,它並不是很複雜,我可以創建一個頭段,插入任何視圖,它工作得很好。Thymeleaf碎片邏輯

現在我想在標題中添加頭像和用戶名。我能想到的第一件事就是創建一個代碼來處理這個標題邏輯,以某種方式獲取用戶並將其放入模型中,以便可以通過百里香正確處理它。

任何方式來做到這一點?我的意思是有一種方法可以在視圖中包含片段,但不能在相應的控制器中手動調用任何函數(以獲取用戶,或者通常執行片段的邏輯)?

編輯:基本上我想做等效的角度指令。

+0

彈簧安全和thymeleaf在一起工作得很好。 [例子](http://www.mkyong.com/spring-boot/spring-boot-spring-security-thymeleaf-example/) – Patrick

+0

那麼用戶就是一個例子。我可能想要做另一個片段讓我們來說明展示廣告。我想爲此提供一個邏輯(例如,使用java代碼獲取適當的廣告,而不是使用javascript加載異步) – SirKometa

回答

0

您可以使用Bean References直接在bean上調用方法。

例如,下面我定義了一個UserService bean,它有一個getCurrentUser方法。在Thymeleaf表達式中,您可以使用@userService.getCurrentUser()來調用該方法。

UserService:

@Service 
public class UserService { 
    public User getCurrentUser() { 
     User user = ... do some work to get current user 
     return user; 
    } 
} 

模板:

<div> 
    Logged in as: <span th:text="${@userService.getCurrentUser().getName()}"></span> 
</div>