JSF 1.2入门,第2部分 JSF生命周期、转换、检验和阶段****** - 编程入门网
} else if (phoneComps.length == 1 && value.length() > 10){
phone.setCountryCode(value.substring(0,1));
phone.setAreaCode(value.substring(1,4));
phone.setPrefix(value.substring(4,7));
phone.setNumber(value.substring(7));
} else {
phone.setNumber(value);
}
return phone;
}
public String getAsString(FacesContext context, UIComponent component,
Object value) {
System.out.println("PhoneConverter.getAsString()");
return value.toString();
}
}
与检验器不同,转换器的好处是可以在 faces-config.xml 中注册(见 清单 27),让转换器连接到 某个类。每当这个类出现在表达式语言(EL)值绑定中时,会自动使用这个转换器;不需要在 JSP 中添 加 <f:converter>。新的电话号码转换器会自动应用于 PhoneNumber,不需要在视图中指定转换器 。 原来的电话号码检验成了电话号码转换的一部分,您可能想知道电话号码检验器现在是什么样子。可 以通过编写一个检验器来回答这个问题,它证明电话号码属于亚利桑那州,见清单 41: 清单 41. 确保电话号码属于亚利桑那州
注意,与前面的检验器不同,这个电话号码检验器并不处理 String。在调用它之前,已经调用了转换 器。因此,值并不是 String,而是 PhoneNumber。 JSF 1.2入门,第2部分 JSF生命周期、转换、检验和阶段******(18)时间:2011-08-09 IBM Richard Hightower处理阶段****** JSF API 文档(参见 参考资料)指出,PhaseListener 是 “一个接口,如果对象希望在请求处理生 命周期的每个标准阶段开始和结束时得到通知,就需要实现这个接口”(Sun Microsystems Inc.,2006 年)。我们已经编写了一些转换器、检验器和动作方法,在本节中就来编写一些阶段******。在 JSF 1.2 之前,PhaseListener 是以全局方式定义的。在 JSF 1.2 中,可以在视图级注册 PhaseListener 事件, 或者使用 <f:phaseListener binding="..." /> 标记。 实现阶段****** 为了实现阶段******,需要实现 PhaseListener 接口,见清单 42: 清单 42. DebugPhaseListener
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |