java - 如何使用 Thymeleaf 获取对象
问题描述
我想使用 Thymeleaf 模板生成用户对象。我怎样才能做到这一点?我有一个包含以下信息的用户类。
package com.rhv.um.model;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "firstname")
private String firstName;
@Column(name = "lastname")
private String lastName;
@Column(name = "email")
private String email;
@Column(name = "mobile")
private Long mobile;
@Column(name = "username")
private String username;
@Column(name = "password")
private String password;
@Transient
private String confirmPassword;
@Column(name = "isenable", columnDefinition = "boolean default 1")
private boolean isEnable;
@Column(name = "reason")
private String reason;
@ManyToMany
@JoinTable(name = "users_roles", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "roles_id"))
private Set<Role> roles;
//Getter and Setter
}
我也有一个 UserRepository 类和 UserService 类。UserService 类如下。UserRepository 类与 UserService 类相同
package com.rhv.um.service;
import java.util.List;
import com.rhv.um.model.User;
public interface UserService {
void save(User user, boolean updatePassword);
List<User> findAll();
User findByUsername(String username);
}
现在我想使用 UserService 类的 findByUsername(String username) 方法从 thymeleaf 创建一个 User 对象。我想从中获取当前登录用户的详细信息。
因为我正在使用 SpringSecurity5。我可以从 thymeleaf 获取当前登录的用户,如下所示。
<span th:text="${#authentication.getPrincipal().getUsername()}"></span>
我想将此用户名传递给我的方法并获取 User 对象。不仅是当前登录的用户。我确实需要获取系统中其他用户的用户对象。
我知道以下几种方法。
- 在 cookie 中设置当前登录用户的值并从 UI 中获取。
- 在会话中设置当前登录用户的值并从 UI 中获取。
- 将 User 对象设置为模型属性,然后使用 UI 中的对象。
使用上述方法,我的目的得到解决。但我想从百里香中设置对象。我该怎么做?
我曾尝试使用 th:with of thymeleaf。它对我不起作用
<div th:if="${userCredentials == null}" th:with="userCredentials=${T(your.package.here.UserCredentials).create()}"></div>
上面代码行的帖子在这里
如果需要更多信息,请告诉我。如果我在这里做错了什么,也可以用代码指导我。
解决方案
推荐阅读
- java - 取双精度/浮点数的小数部分
- r - 为什么data.table中j中的dput(object)也打印(object)?
- yii2-advanced-app - Yii2 的 BlueImp 文件上传小部件
- c++ - 通过指针访问非静态类成员函数的说明
- python - 在 Django 中的新 URL 下渲染页面?
- javascript - 你如何检查一个 JavaScript 对象是否是一个新的 DOM 元素?
- python - 刷新网页
- java - java:警告:迭代器是原始类型
- node.js - NodeJS Sequelize 抛出新的错误。AssertionError({ 错误连接
- login - React 路由器:登录帖子