Вот отрывок из контроллера:
public ModelAndView profilePage() {
        ...
        Map<String, Object> model = new BindingAwareModelMap();
        model.put("general", profileGeneralDTO);
        model.put("security", profileSecurityDTO);
        return new ModelAndView("profile/profile.html", "profile", model);
    }
Как можно использовать отдельные DTO в 
th:object?
Я могу использовать их как 
${general} и 
${secuity} если я меняю метод вот таким образом:
public ModelAndView profilePage(
            @AuthenticationPrincipal User user,
            Map<String, Object> model
    ) {
        ...
//        Map<String, Object> model = new BindingAwareModelMap();
        model.put("general", profileGeneralDTO);
        model.put("security", profileSecurityDTO);
        return new ModelAndView("profile/profile.html", "profile", model);
    }
В этом случае 
model того же класса (BindingAwareModelMap), но сейчас все работает. Почему?
Ведь если я передаю в качестве модели, например profileGeneralDTO, который так же определен в теле метода, то я нормально работаю с его полями в шаблоне.
Спасибо.