?? multiplechoicefield.java
字號:
/* * Copyright (c) 2005, John Mettraux, OpenWFE.org * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * . Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * . Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * . Neither the name of the "OpenWFE" nor the names of its contributors may be * used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * $Id: MultipleChoiceField.java,v 1.8 2005/05/17 16:41:00 jmettraux Exp $ *///// MultipleChoiceField.java//// jmettraux@openwfe.org//// generated with // jtmpl 1.0.04 31.10.2002 John Mettraux (jmettraux@openwfe.org)//package openwfe.org.uman.web;import javax.servlet.http.HttpServletRequest;import openwfe.org.ReflectionUtils;/** * no comment * * <p><font size=2>CVS Info : * <br>$Author: jmettraux $ * <br>$Date: 2005/05/17 16:41:00 $ * <br>$Id: MultipleChoiceField.java,v 1.8 2005/05/17 16:41:00 jmettraux Exp $ </font> * * @author jmettraux@openwfe.org */public class MultipleChoiceField extends Field{ private final static org.apache.log4j.Logger log = org.apache.log4j.Logger .getLogger(MultipleChoiceField.class.getName()); // // CONSTANTS & co public final static String EXCLUSIVE = "exclusive"; public final static String CHOICES = "choices"; // // FIELDS protected boolean exclusive = false; protected java.util.List choices = null; protected String value = null; // // CONSTRUCTORS public MultipleChoiceField (final String name, final java.util.Map initParams) { super(name); String sExclusive = (String)initParams.get(EXCLUSIVE); this.exclusive = (sExclusive != null && sExclusive.equals("true")); Object oChoices = initParams.get(CHOICES); if (oChoices == null) { this.choices = null; } else if (oChoices instanceof java.util.List) { this.choices = (java.util.List)oChoices; } else if (oChoices instanceof String) { this.choices = new java.util.ArrayList(1); this.choices.add(oChoices); } else { this.choices = java.util.Arrays.asList((String[])oChoices); } this.value = (String)initParams.get(VALUE); if (this.value == null) this.value = ""; } // // METHODS from Field public Object parseRequestValues (final HttpServletRequest req) throws WumanException { String[] requestValues = req.getParameterValues(Handler.HANDLER_PREFIX + this.name); if (requestValues == null) return ""; StringBuffer result = new StringBuffer(); for (int i=0; i<requestValues.length; i++) { result.append(requestValues[i]); if (i < requestValues.length - 1) result.append(", "); } log.debug("parseRequestValues() result is >"+result.toString()+"<"); return result.toString(); } public Object clone () { MultipleChoiceField clone = new MultipleChoiceField(this.name, new java.util.HashMap(0)); clone.value = this.value; clone.exclusive = this.exclusive; clone.choices = this.choices; return clone; } public String getHtmlInputTag () { StringBuffer sb = new StringBuffer(); String inputType = null; if (this.exclusive) inputType = "radio"; else inputType = "checkbox"; java.util.Iterator it = this.choices.iterator(); while (it.hasNext()) { String choice = (String)it.next(); sb.append("<input"); sb.append(" type="); sb.append(inputType); sb.append(" name="); sb.append(Handler.HANDLER_PREFIX); sb.append(this.name); sb.append(" value=\""); sb.append(choice); sb.append("\""); if (this.value.indexOf(choice) > -1) sb.append(" checked"); sb.append(">"); sb.append(choice); sb.append("</input>"); if (it.hasNext()) sb.append("<br>\n"); } return sb.toString(); } public void setValue (Object source) throws WumanException { try { Object oValue = ReflectionUtils.getAttribute(source, this.name); if (oValue == null) this.value = "null"; else this.value = (String)oValue; } catch (Exception e) { throw new WumanException ("Failed to set value in field", e); } } // // METHODS}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -