2015-05-08 13 views

Trả lời

8

Một số cách để thực hiện việc này.

Nếu bạn muốn thêm biến vào tất cả các chế độ xem do một bộ điều khiển phân phối, bạn có thể thêm phương thức được chú thích @ModelAttribute - see reference doc.

Lưu ý rằng bạn cũng có thể sử dụng cùng một cơ chế @ModelAttribute , xử lý nhiều bộ điều khiển cùng một lúc. Để làm được điều đó, bạn có thể triển khai phương thức @ModelAttribute đó trong một lớp được chú thích với @ControllerAdvice - see reference doc.

+0

'@ ControllerAdvice' làm việc như một nét duyên dáng cho tôi. – demaniak

1

Bạn có thể muốn xem @ModelAttribute. http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html

Blockquote Trong Thymeleaf, thuộc tính các mô hình (hoặc các biến bối cảnh trong Thymeleaf biệt ngữ) có thể được truy cập với cú pháp sau: $ {AttributeName}, trong đó AttributeName trong trường hợp của chúng tôi là thông điệp. Đây là biểu thức Spring EL.

1

Nếu bạn chỉ muốn một cái gì đó từ số application.properties vào mẫu thymeleaf của mình, thì bạn có thể sử dụng số SpEL của Spring.

${@environment.getProperty('name.of.the.property')} 
0

@ControllerAdvice làm việc cho tôi:

@ControllerAdvice(annotations = RestController.class) 
public class AnnotationAdvice { 

    @Autowired 
    UserServiceImpl userService; 

    @ModelAttribute("currentUser") 
    public User getCurrentUser() { 
     UserDetails userDetails = (UserDetails) 
     SecurityContextHolder.getContext() 
       .getAuthentication().getPrincipal(); 

     return userService.findUserByEmail(userDetails.getUsername()); 
    } 
    } 
Các vấn đề liên quan