`
winnerlxh
  • 浏览: 89555 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在JSF输入页面中支持Hibernate验证

阅读更多
在多层企业级应用中,Web框架和ORM持久层框架通常会有不同的数据验证机制。Web框架在Web表单被提交时验证用户输入,而持久层框架在保存数据进数据库之前验证数据。在大多数情况下,它们显得多余。
Seam允许你在实体Beans中直接注解数据验证约束,这样使用与实体Beans相联系的JSF输入框时,同样的验证约束将应用于输入数据。
下面的例子中,Person对象的名字必须由两个单词组成,并且年龄必须在3到100岁之间。
@Entity
@Name(”person”)
@Table(name=”extperson”)
public class Person implements Serializable {
private long id;
private String name;
private int age;
@Id @GeneratedValue
public long getId() { return id;}
public void setId(long id) { this.id = id; }
@NotNull
@Pattern(regex=”^[a-zA-Z.-]+ [a-zA-Z.-]+”,
message=”Need a firstname and a lastname”)
public String getName() { return name; }
public void setName(String name) {this.name = name;}
@NotNull
@Range(min=3, max=100,
message=”Age must be between 3 and 100″)
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
下面的JSF页面将自动”包装”一些验证逻辑。如果用户提交无效值,将重新显示页面,同时高亮显示无效的字段。
<s:validateAll>
Your name:<br/>
<s:decorate>
<h:inputText value=”#{person.name}”/>
</s:decorate>
Your age:<br/>
<s:decorate>
<h:inputText value=”#{person.age}”/>
</s:decorate>
</s:validateAll>
你可以通过简单的JSF facets和CSS样式配置这些高亮显示的错误信息。也可以在无效字段前加入有CSS样式修饰的错误提示图片。如下所示,当验证失败时,<s:message/>将显示验证注解中的信息属性。
<f:facet name=”beforeInvalidField”>
<h:graphicImage styleClass=”errorImg” value=”error.png”/>
</f:facet>
<f:facet name=”afterInvalidField”>
<s:message styleClass=”errorMsg” />
</f:facet>
<f:facet name=”aroundInvalidField”>
<s:div styleClass=”error”/>
</f:facet>
使用基于Ajax的JSF控件,你无需提交任何表单,就可以进行输入字段的验证。
分享到:
评论

相关推荐

    Hibernate实战(第2版 中文高清版)

     17.4 验证用户输入   17.4.1 Hibernate Validator简介   17.4.2 创建注册页面   17.4.3 用Seam实现国际化   17.5 利用Seam简化持久化   17.5.1 实现对话   17.5.2 让Seam管理持久化上下文   17.6 小...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    2.3.1 从输入页面开始 60 2.3.2 开发托管Bean 61 2.3.3 定义导航规则 63 2.4 解读JSF配置 65 2.4.1 配置核心控制器(FacesServlet) 65 2.4.2 JSF配置文件结构 68 2.5 托管Bean和表达式语言 69 2.5.1 托管Bean的属性和...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    1.3. Seam 中的可点击列表:消息示例............................................................................................................................. 27 1.3.1. 理解代码.........................

    JAVA程序开发大全---上半部分

    本书系统全面地介绍了Java中的各项主流技术,以及基于这些技术的商业化应用程序的开发技巧,在讲解过程中以目前最为流行的开发工具MyEclipse为载体,全面系统地介绍了如何在MyEclipse中开发基于Struts、Hibernate、...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    JAVA上百实例源码以及开源项目源代码

    Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP   Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的...

    java开源包1

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包11

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包3

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包6

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包5

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包10

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包4

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包8

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包7

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包9

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包101

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    Java资源包01

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

Global site tag (gtag.js) - Google Analytics