NetBeans中JSF应用的开发(3)
2012-05-02 16:53
134 查看
目标:使用标准的验证器和转换器
设置某个域为必填的
首先我们需要做的是确保用户为name域输入一些信息,我们可以通过使用inputText组件的required属性轻松做到。
1.
打开greeting.jsp,然后修改inputText组件如下:
我们必须做的是给名字输入框一个ID,这样我们可以指定消息是哪个组件的消息。我们已经指定这个域是必填的,因此如果用户不输入任何信息,Web应用将显示错误信息。
2.
运行工程,然后不输入任何信息就点击Submit,您将会得到如下错误信息:
使用转换器
现在我们需要把我们的生日作为日期来处理,而不是任意的字符串。JSF框架提供了很多转换器,使用这些转换器可以把文本转换成对象类型,例如布尔类型等等。在转换数据的过程中,要验证数据对于要转换成的数据类型来说是否有效。对于我们的生日输入域来说非常方便,因为我们可以指定日期的格式,对输入进行验证,并同时得到一个Date对象。
1.
打开greeting.jsp,修改生日输入框inputText组件如下:
我们必修做的是给生日一个ID,这样我们可以指定消息显示的时候是对应哪个组件的。然后把转换器的格式设置为dd/MM/yyyy。如果用户输入的信息不能匹配这个格式,将重新显示greeting.jsp文件,并显示错误信息。我们同样指定了这个域是必须的,就像姓名域一样。
2.
现在需要把UserBean.java中生日属性的类型修改为Date。打开UserBean.java,修改如下(粗体部分),并添加一个import语句,引入java.util.Date。
3.
运行工程。如果不输入日期就点击Submit,你将得到下面的错误信息:
如果你输入了一个无效的日期,你将得到下面的错误信息:
标准转换器参考书上177页。
标准验证器参考书上186页。
书:《JavaEE5实用教程》
设置某个域为必填的
首先我们需要做的是确保用户为name域输入一些信息,我们可以通过使用inputText组件的required属性轻松做到。
1.
打开greeting.jsp,然后修改inputText组件如下:
<p>Enteryourname:<h:inputTextvalue="#{UserBean.name}"
id="name"required="true"/>
<h:messagefor="name"/></p>
我们必须做的是给名字输入框一个ID,这样我们可以指定消息是哪个组件的消息。我们已经指定这个域是必填的,因此如果用户不输入任何信息,Web应用将显示错误信息。
2.
运行工程,然后不输入任何信息就点击Submit,您将会得到如下错误信息:
使用转换器
现在我们需要把我们的生日作为日期来处理,而不是任意的字符串。JSF框架提供了很多转换器,使用这些转换器可以把文本转换成对象类型,例如布尔类型等等。在转换数据的过程中,要验证数据对于要转换成的数据类型来说是否有效。对于我们的生日输入域来说非常方便,因为我们可以指定日期的格式,对输入进行验证,并同时得到一个Date对象。
1.
打开greeting.jsp,修改生日输入框inputText组件如下:
<p>Enteryourbirthday:<h:inputTextvalue="#{UserBean.birthday}"
id="birthday"required="true">
<f:convertDateTimepattern="dd/MM/yyyy"/>
</h:inputText>(dd/mm/yyyy)
<h:messagefor="birthday"/></p>
我们必修做的是给生日一个ID,这样我们可以指定消息显示的时候是对应哪个组件的。然后把转换器的格式设置为dd/MM/yyyy。如果用户输入的信息不能匹配这个格式,将重新显示greeting.jsp文件,并显示错误信息。我们同样指定了这个域是必须的,就像姓名域一样。
2.
现在需要把UserBean.java中生日属性的类型修改为Date。打开UserBean.java,修改如下(粗体部分),并添加一个import语句,引入java.util.Date。
privateStringname;
privateDatebirthday;
...
publicDategetBirthday(){
returnbirthday;
}
publicvoidsetBirthday(Datebirthday){
this.birthday=birthday;
}
3.
运行工程。如果不输入日期就点击Submit,你将得到下面的错误信息:
如果你输入了一个无效的日期,你将得到下面的错误信息:
标准转换器参考书上177页。
标准验证器参考书上186页。
书:《JavaEE5实用教程》
相关文章推荐
- NetBeans中JSF应用的开发(3)
- NetBeans中JSF应用开发(4)
- NetBeans中JSF应用开发(5)
- NetBeans中JSF应用开发(6)
- NetBeans中JSF应用开发(2)
- NetBeans中JSF应用开发(1)
- NetBeans中JSF应用开发(4)
- NetBeans中JSF应用开发
- NetBeans中JSF应用开发(6)
- NetBeans中JSF应用开发(5)
- NetBeans中JSF应用开发(1)
- NetBeans中JSF应用开发(2)
- 应用JSF技术开发(Developing with JavaServer Faces Technology:chapter11)《注:未完成》
- 应用JSF、Ajax和Seam开发Portlets(1/3)
- JSF(Java Server Face)与在Web UI实现托拽式快速开发的应用
- NetBeans6.1(6.5)Visual Web JSF 应用程序开发的一个BUG
- JSF(Java Server Face)与在Web UI实现托拽式快速开发的应用
- NetBeans6.1(6.5)Visual Web JSF 应用程序开发的一个BUG
- 文章:应用JSF、Ajax和Seam开发Portlets(3/3)
- NetBeans可视化Web开发之数据库应用开发