Outline 。-日 4①faces--config.xml ▣Application factory 野1 ifecycle Component Converters Managed Beans (P)name (P converter Navigation rules Referenced Beans Render Kits Validators 图2-9 iserBean.java代码如下: package cn.edu.isf: import javax.faces.context.FacesContext; import javax.faces.convert.Converter; .co rterException; import javax.faces.*; import javax.faces.component.*: public class UserBean private string name: private Friend friend private Converter converter public UserBean()( 1 public string getName()( return name; public void setName(string name) this.name =name public Friend getFriend()(
图2-9 UserBean.java代码如下: package cn.edu.jsf; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.*; import javax.faces.component.*; public class UserBean { private String name; private Friend friend; private Converter converter; public UserBean() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public Friend getFriend() {
return friend; 1 public void setFriend(Friend friend)( this friend; public Converter getConverter(){ /采用匿名内部类实现一个转换器 return new Converter() //实现从字符串类型向目标类型转换的方法 public object getAsobject(FacesContext context, UIComponent component.String value) throws ConverterException try string[l values value.split (":") Friend friend-new Friend(values[0] Double .parseDouble(values(1]) Integer.parseInt(values[21)); return friend; //捕获所有自定义异常 catch (Exception ex) ex.printstackTrace(); /抛出ConverterException异常。 throw new ConverterException("无法转换!"); /实现从目标类型向字符串类型转换的方法 public String getAsstring(Facescontext context, UIComponent component,object value) Friend friend-(Friend)value; return "Friend [name-"+friend.getName +"height="+friend.getHeight() +"age="+friend.getAge()+"]"; public void setconverter(Converter converter){ this.converter converter;
return friend; } public void setFriend(Friend friend) { this.friend = friend; } public Converter getConverter() { //采用匿名内部类实现一个转换器 return new Converter() { //实现从字符串类型向目标类型转换的方法 public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException { try { String[] values = value.split(":"); Friend friend = new Friend(values[0] , Double.parseDouble(values[1]) , Integer.parseInt(values[2])); return friend; } //捕获所有自定义异常 catch (Exception ex) { ex.printStackTrace(); //抛出ConverterException异常。 throw new ConverterException("无法转换!"); } } //实现从目标类型向字符串类型转换的方法 public String getAsString(FacesContext context, UIComponent component, Object value) { Friend friend = (Friend)value; return "Friend[name=" + friend.getName() + ", height=" + friend.getHeight() + ", age=" + friend.getAge() + "]"; } }; } public void setConverter(Converter converter) { this.converter = converter;