【发布时间】:2018-02-23 09:37:27
【问题描述】:
在 Spring MVC 中使用 Event 的实例作为表单支持对象是一种不好的做法吗?
与 DTO 相比,这种方法的一个问题是客户端可以更改视图中的隐藏字段,并且您需要检查并重置它们。 但是还有其他的吗?
@Entity
@Table(name = "events")
public class Event
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "event_id")
public int id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
public User userId;
@Column(name = "amount")
@NotEmpty(message = "Amount can't be empty")
public int amount;
@Column(name = "description")
@NotEmpty(message = "Description can't be empty")
public String description;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "entered_by")
public User enteredBy;
@Column(name = "entered_at", columnDefinition = "DATETIME")
@Temporal(TemporalType.TIMESTAMP)
public Date enteredAt;
}
【问题讨论】:
-
当然不好,你说的是哪个隐藏字段?
-
隐藏字段是指。对于那些不包含在 HTML 模板中但可以由客户端插入的模板也是如此。
标签: java spring forms spring-mvc dto