欢迎来到天天文库
浏览记录
ID:20724359
大小:53.00 KB
页数:3页
时间:2018-10-15
《jsf验证器与转换器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、验证器:JSF是通过后台bean和验证器中的验证器方法来支持数据验证的。1.1 使用验证器方法:输入组件可关联到后台bean中的验证器方法。验证器方法通常用作应用特定的验证,重用性不高。假设有名为registrationBean的后台bean,它有一名为validateEmail的验证方法。那么在JSP中,便可以这样将输入组件关联到此方法:2、l}"/>现在用户为这个控件输入一个值,validateEmail方法都将对其进行检查以确保其有效。如果成功,后台bean的email将被更新;否则,产生错误消息。1.2 使用验证器:对任何输入组件,你都可以注册一个或多个验证器。JSF内建了三个标准验证器。如下图:JSP定制标签属性行为minimum、maximum确保组件的值可以被转换成double型数值,并且在指定的最小、最大值范围内minimum、maximum确保组件的值的长度在指定的最小、最大值范围内3、ongRange>minimum、maximum确保组件的值可以被转换成long型数值,并且在指定的最小、最大值范围内一个组件可以关联任意多个验证器。值得注意的是,每个组件都有required属性,它强制组件拒绝空值。这个不是标准的验证器,它验证行为是由输入组件自行处理的。另外,你还可以定义自己的验证器。2 转换器:为了使用户界面能够以用户能够理解的方式显示对象,对象必须能够转换为适当的字符串以供显示。JSF提供了一套标准转换器来满足基本的类型转换的要求。当然你也可以编写自己的转换器或作用第三方提供的转换器。你可以将转换器关联到几乎任何显示简单值的组件,特别是输入组4、件。要记住,转换器是双向的。它们最擅长的是调整对象显示给用户的方式,但是如果将它们与输入控件联合使用时,用户的输入格式必须按照转换器指定的格式。JSF定义了两个标准转换器,DateTime转换器用来格式化日期对象,Number转换器用来格式化任何类型的数据,包括货币和百分数。.1 使用DateTime转换器:JSP标签属性说明dateStyle指定字符串日期部分的格式样式。有效值有:short、medium(默认)、long和full。仅在设置了type属性时有效timeStyle指定字符串时间部分的格式样式。有效值有:shor5、t、medium(默认)、long和full。仅在设置了type属性时有效timeZone指定日期的时区。如果没有指定,将使用格林尼治标准时间(GMT)locale用来显示日期的特定场所。将覆盖用户的当前场所。pattern用于转换这个数值的日期格式模式,此模式与用于java.util.SimpleDateFormat类的格式模式是相同的。它和type属性只能选一个type指定是否显示日期、时间或两者都显示,有效值为:date、time、both示例:假设user对象的dateOfBirth的值为2003年5月23日上午7点24分18秒6、#{user.dateOfBirth}"> 则这段代码将会在文件框显示2003-05-23(07:24)。用户输入的日期格式也要是这种模式的,否则将产生转换错误。2.2 使用Number转换器:标签属性说明currencyCode当type为currency时,指定三位数的国际货币代码。currencySymbol当type为currency时,指定特定的记号,如“$”。groupingUsed如果应该使用的分7、组记号(如:”,”或””)为true。默认为trueintegerOnly如果只需要处理输入值的整数部分(小数部分将被忽略),则设置为true。默认值为falselocale用于显示这个数据的特定场所。将覆盖用户的当前场所。minFractionDigits要显示的最小小数位数maxFractionDigits要显示的最大小数位数minIntegerDigits要显示的最小整数位数maxIntegerDigits要显示的最大整数位数pattern用于转换数值的小数格式模式。它和type属性二选一type数值的类型:
2、l}"/>现在用户为这个控件输入一个值,validateEmail方法都将对其进行检查以确保其有效。如果成功,后台bean的email将被更新;否则,产生错误消息。1.2 使用验证器:对任何输入组件,你都可以注册一个或多个验证器。JSF内建了三个标准验证器。如下图:JSP定制标签属性行为minimum、maximum确保组件的值可以被转换成double型数值,并且在指定的最小、最大值范围内minimum、maximum确保组件的值的长度在指定的最小、最大值范围内3、ongRange>minimum、maximum确保组件的值可以被转换成long型数值,并且在指定的最小、最大值范围内一个组件可以关联任意多个验证器。值得注意的是,每个组件都有required属性,它强制组件拒绝空值。这个不是标准的验证器,它验证行为是由输入组件自行处理的。另外,你还可以定义自己的验证器。2 转换器:为了使用户界面能够以用户能够理解的方式显示对象,对象必须能够转换为适当的字符串以供显示。JSF提供了一套标准转换器来满足基本的类型转换的要求。当然你也可以编写自己的转换器或作用第三方提供的转换器。你可以将转换器关联到几乎任何显示简单值的组件,特别是输入组4、件。要记住,转换器是双向的。它们最擅长的是调整对象显示给用户的方式,但是如果将它们与输入控件联合使用时,用户的输入格式必须按照转换器指定的格式。JSF定义了两个标准转换器,DateTime转换器用来格式化日期对象,Number转换器用来格式化任何类型的数据,包括货币和百分数。.1 使用DateTime转换器:JSP标签属性说明dateStyle指定字符串日期部分的格式样式。有效值有:short、medium(默认)、long和full。仅在设置了type属性时有效timeStyle指定字符串时间部分的格式样式。有效值有:shor5、t、medium(默认)、long和full。仅在设置了type属性时有效timeZone指定日期的时区。如果没有指定,将使用格林尼治标准时间(GMT)locale用来显示日期的特定场所。将覆盖用户的当前场所。pattern用于转换这个数值的日期格式模式,此模式与用于java.util.SimpleDateFormat类的格式模式是相同的。它和type属性只能选一个type指定是否显示日期、时间或两者都显示,有效值为:date、time、both示例:假设user对象的dateOfBirth的值为2003年5月23日上午7点24分18秒6、#{user.dateOfBirth}"> 则这段代码将会在文件框显示2003-05-23(07:24)。用户输入的日期格式也要是这种模式的,否则将产生转换错误。2.2 使用Number转换器:标签属性说明currencyCode当type为currency时,指定三位数的国际货币代码。currencySymbol当type为currency时,指定特定的记号,如“$”。groupingUsed如果应该使用的分7、组记号(如:”,”或””)为true。默认为trueintegerOnly如果只需要处理输入值的整数部分(小数部分将被忽略),则设置为true。默认值为falselocale用于显示这个数据的特定场所。将覆盖用户的当前场所。minFractionDigits要显示的最小小数位数maxFractionDigits要显示的最大小数位数minIntegerDigits要显示的最小整数位数maxIntegerDigits要显示的最大整数位数pattern用于转换数值的小数格式模式。它和type属性二选一type数值的类型:
3、ongRange>minimum、maximum确保组件的值可以被转换成long型数值,并且在指定的最小、最大值范围内一个组件可以关联任意多个验证器。值得注意的是,每个组件都有required属性,它强制组件拒绝空值。这个不是标准的验证器,它验证行为是由输入组件自行处理的。另外,你还可以定义自己的验证器。2 转换器:为了使用户界面能够以用户能够理解的方式显示对象,对象必须能够转换为适当的字符串以供显示。JSF提供了一套标准转换器来满足基本的类型转换的要求。当然你也可以编写自己的转换器或作用第三方提供的转换器。你可以将转换器关联到几乎任何显示简单值的组件,特别是输入组
4、件。要记住,转换器是双向的。它们最擅长的是调整对象显示给用户的方式,但是如果将它们与输入控件联合使用时,用户的输入格式必须按照转换器指定的格式。JSF定义了两个标准转换器,DateTime转换器用来格式化日期对象,Number转换器用来格式化任何类型的数据,包括货币和百分数。.1 使用DateTime转换器:JSP标签属性说明dateStyle指定字符串日期部分的格式样式。有效值有:short、medium(默认)、long和full。仅在设置了type属性时有效timeStyle指定字符串时间部分的格式样式。有效值有:shor
5、t、medium(默认)、long和full。仅在设置了type属性时有效timeZone指定日期的时区。如果没有指定,将使用格林尼治标准时间(GMT)locale用来显示日期的特定场所。将覆盖用户的当前场所。pattern用于转换这个数值的日期格式模式,此模式与用于java.util.SimpleDateFormat类的格式模式是相同的。它和type属性只能选一个type指定是否显示日期、时间或两者都显示,有效值为:date、time、both示例:假设user对象的dateOfBirth的值为2003年5月23日上午7点24分18秒6、#{user.dateOfBirth}"> 则这段代码将会在文件框显示2003-05-23(07:24)。用户输入的日期格式也要是这种模式的,否则将产生转换错误。2.2 使用Number转换器:标签属性说明currencyCode当type为currency时,指定三位数的国际货币代码。currencySymbol当type为currency时,指定特定的记号,如“$”。groupingUsed如果应该使用的分7、组记号(如:”,”或””)为true。默认为trueintegerOnly如果只需要处理输入值的整数部分(小数部分将被忽略),则设置为true。默认值为falselocale用于显示这个数据的特定场所。将覆盖用户的当前场所。minFractionDigits要显示的最小小数位数maxFractionDigits要显示的最大小数位数minIntegerDigits要显示的最小整数位数maxIntegerDigits要显示的最大整数位数pattern用于转换数值的小数格式模式。它和type属性二选一type数值的类型:
6、#{user.dateOfBirth}"> 则这段代码将会在文件框显示2003-05-23(07:24)。用户输入的日期格式也要是这种模式的,否则将产生转换错误。2.2 使用Number转换器:标签属性说明currencyCode当type为currency时,指定三位数的国际货币代码。currencySymbol当type为currency时,指定特定的记号,如“$”。groupingUsed如果应该使用的分
7、组记号(如:”,”或””)为true。默认为trueintegerOnly如果只需要处理输入值的整数部分(小数部分将被忽略),则设置为true。默认值为falselocale用于显示这个数据的特定场所。将覆盖用户的当前场所。minFractionDigits要显示的最小小数位数maxFractionDigits要显示的最大小数位数minIntegerDigits要显示的最小整数位数maxIntegerDigits要显示的最大整数位数pattern用于转换数值的小数格式模式。它和type属性二选一type数值的类型:
此文档下载收益归作者所有