在多层企业级应用中,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控件,你无需提交任何表单,就可以进行输入字段的验证。
分享到:
相关推荐
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 小...
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的属性和...
1.3. Seam 中的可点击列表:消息示例............................................................................................................................. 27 1.3.1. 理解代码.........................
本书系统全面地介绍了Java中的各项主流技术,以及基于这些技术的商业化应用程序的开发技巧,在讲解过程中以目前最为流行的开发工具MyEclipse为载体,全面系统地介绍了如何在MyEclipse中开发基于Struts、Hibernate、...
Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...