有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将数据从数据库传递到模板?

我想获取特定的用户并将其传递给thymeleaf模板。 这就是我现在拥有的。 This is my User model

和榜样:

@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);
    }

假设,我想让所有用户都扮演“餐厅”角色-

控制器:

 @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;
    }

共 (0) 个答案