Как передать данные из базы данных в шаблон Thymeleaf? - PullRequest
1 голос
/ 16 апреля 2020

Я хочу получить пользователей с указанным c и передать его в шаблон тимелист. Это то, что у меня есть сейчас. Это моя модель пользователя

и модель для подражания:

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "roles")
public class Role {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "role_id")
    private int id;
    @Column(name = "role")
    private String role;
}

Мой репозиторий пользователя:

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
    User findByEmail(String email);
    User findByUserName(String userName);
    User findByRole(String role);

}

Служба пользователя:

@Autowired
    public UserService(UserRepository userRepository,
                       RoleRepository roleRepository,
                       BCryptPasswordEncoder bCryptPasswordEncoder) {
        this.userRepository = userRepository;
        this.roleRepository = roleRepository;
        this.bCryptPasswordEncoder = bCryptPasswordEncoder;
    }

    public User findUserByEmail(String email) {
        return userRepository.findByEmail(email);
    }

    public User findUserByUserName(String userName) {
        return userRepository.findByUserName(userName);
    }


    public User findUserByRole(String role){
        return userRepository.findByRole(role);
    }

Предположим, я хочу получить всех пользователей с ролью 'restaurant' -

Контроллер:

 @GetMapping(value="/donor/home")
    public ModelAndView donorHome(){
        ModelAndView modelAndView = new ModelAndView();
        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
        User user = userService.findUserByUserName(auth.getName());
        User user_res = userService.findUserByRole("Restaurant");
        modelAndView.addObject("userName", "Welcome " + user.getUserName() + "/" + user.getFirstName() + " " + user.getLastName() + " (" + user.getEmail() + ")");
        modelAndView.addObject("res", "user_res");
        modelAndView.getModel();
        modelAndView.setViewName("/donor/donor_home");
        return modelAndView;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...