1 16 package org.apache.cocoon.faces.taglib; 17 18 import org.apache.cocoon.faces.FacesUtils; 19 20 import javax.faces.FacesException; 21 import javax.faces.component.UIComponent; 22 import javax.faces.component.UISelectItems; 23 24 27 public class SelectItemsTag extends UIComponentTag { 28 29 protected String value; 30 31 public void setValue(String value) { 32 this.value = value; 33 } 34 35 protected String getComponentType() { 36 return "javax.faces.SelectItems"; 37 } 38 39 protected String getRendererType() { 40 return null; 41 } 42 43 protected void setProperties(UIComponent component) { 44 super.setProperties(component); 45 46 UISelectItems selectItems; 47 try { 48 selectItems = (UISelectItems) component; 49 } catch (ClassCastException cce) { 50 throw new FacesException("Tag <" + getClass().getName() + "> expected UISelectItems. " + 51 "Got <" + component.getClass().getName() + ">"); 52 } 53 54 if (value != null) { 55 if (FacesUtils.isExpression(value)) { 56 selectItems.setValueBinding("value", createValueBinding(value)); 57 } else { 58 selectItems.setValue(value); 59 } 60 } 61 } 62 63 public void recycle() { 64 super.recycle(); 65 this.value = null; 66 } 67 } 68 | Popular Tags |