1 package org.appfuse.webapp.tapestry; 2 3 import org.apache.commons.logging.Log; 4 import org.apache.commons.logging.LogFactory; 5 import org.apache.tapestry.IMarkupWriter; 6 import org.apache.tapestry.IRequestCycle; 7 import org.apache.tapestry.contrib.form.IMultiplePropertySelectionRenderer; 8 import org.apache.tapestry.contrib.form.MultiplePropertySelection; 9 import org.apache.tapestry.form.IPropertySelectionModel; 10 11 19 public class HiddenMultiplePropertySelectionRenderer 20 implements IMultiplePropertySelectionRenderer { 21 protected final Log log = LogFactory.getLog(getClass()); 22 23 27 public void beginRender(MultiplePropertySelection component, 28 IMarkupWriter writer, IRequestCycle cycle) { 29 } 30 31 35 public void endRender(MultiplePropertySelection component, 36 IMarkupWriter writer, IRequestCycle cycle) { 37 } 38 39 public void renderOption(MultiplePropertySelection component, 40 IMarkupWriter writer, IRequestCycle cycle, 41 IPropertySelectionModel model, Object option, 42 int index, boolean selected) { 43 if (selected) { 44 writer.begin("input"); 45 writer.attribute("type", "hidden"); 46 writer.attribute("name", component.getName()); 47 48 String id = component.getName() + "." + model.getValue(index); 49 writer.attribute("id", id); 50 writer.attribute("value", model.getValue(index)); 51 writer.end(); 52 writer.print(model.getLabel(index)); 53 if (index < (model.getOptionCount()-2)) { 56 writer.printRaw(", "); 57 } 58 writer.println(); 59 } 60 } 61 } 62 | Popular Tags |