我一直在研究Java EE 6,我对Annotations和Constraints之间的区别感到困惑。它们之间究竟有什么区别?
答案 0 :(得分:4)
Annotations,例如@Deprecated
,@WebServlet
,@NotNull
,等等,带有元数据。在注释存在之前,这通常由XML配置文件完成。可以借助Java Reflection确定注释。
Constraints是要应用于类的类和/或字段(属性)的业务规则。例如,如果业务规则要求用户名永远不能为空,那么您希望放置@NotNull
注释来定义约束。
public class User {
@NotNull
private String name;
// ...
}
我在你的问题历史中看到你熟悉JSF,Java EE提供的web MVC框架。 JSF可以利用它来验证用户输入。
<h:inputText id="username" value="#{user.name}" />
<h:message for="username" />
当用户将输入字段留空时,将显示一条消息,通知用户该值可能不为空(确切的消息本身是可自定义的)。