问题描述
我有一个向其发送电子邮件和用户密码的登录URL。通常,我将一一提取参数并将其设置为我的User实体类的属性。我不打算这样做,而是想使用BeanUtils的populate方法将请求参数直接分配给属性。
我正在尝试避免执行以下操作:字符串email = request.getParameter(“ email”)
我的用户实体为:
@Entity
@Table(name = "sc_users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="user_id")
private int id;
@Embedded
private Person person;
@Column(columnDefinition = "VARCHAR(255)")
private String image;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="user_group_id",nullable = false,referencedColumnName = "user_group_id")
@JsonBackReference
private UserGroup userGroup;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public UserGroup getUserGroup() {
return userGroup;
}
public void setUserGroup(UserGroup userGroup) {
this.userGroup = userGroup;
}
}
我有一个可嵌入的实体,
@Embeddable
public class Person {
@NotNull
@Column(name="firstname",columnDefinition = "VARCHAR(32)")
private String firstName;
@NotNull
@Column(name="lastname",columnDefinition = "VARCHAR(32)")
private String lastName;
@NotNull
@Column(nullable = false,columnDefinition = "VARCHAR(96)")
private String email;
@NotNull
@Column(nullable = false,columnDefinition = "VARCHAR(24)")
private String telephone;
@NotNull
@Column(nullable = false,columnDefinition = "VARCHAR(255)")
private String password;
@Column(nullable = false,columnDefinition = "TINYINT(1) DEFAULT 1")
private boolean status;
@Column(name = "date_added",updatable=false,columnDefinition = "DATETIME DEFAULT CURRENT_TIMESTAMP")
@Temporal(value = TemporalType.TIMESTAMP)
private Date dateAdded;
// Setters and Getters ommitted for brevity
}
我的servlet是:
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
// Code omitted for brevity
User user = new User();
BeanUtils.populate(user,request.getParameterMap());
// Code omitted for brevity
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)