示例#1
0
  public void execute(
      Environment env, Map map, TemplateModel[] loopVars, TemplateDirectiveBody body)
      throws TemplateException, IOException {

    Iterator<?> it = map.entrySet().iterator();
    String name = "";
    String id = "";
    String clazz = "";
    String defaultvalue = "";
    String nid = "";
    String disabled = "";
    String type = "";
    String noselect = "";
    int typeid = 0;
    boolean plantext = false;
    while (it.hasNext()) {
      Map.Entry<?, ?> entry = (Map.Entry) it.next();
      String paramName = entry.getKey().toString();
      TemplateModel paramValue = (TemplateModel) entry.getValue();
      if (paramName.equals("plantext")) {
        if (!(paramValue instanceof TemplateBooleanModel)) {
          throw new TemplateModelException(
              "The \"" + plantext + "\" parameter " + "must be a boolean.");
        }
        plantext = ((TemplateBooleanModel) paramValue).getAsBoolean();
      }
      if (paramName.equals("name")) {
        name = paramValue.toString();
      } else if (paramName.equals("id")) {
        id = paramValue.toString();
      } else if (paramName.equals("class")) {
        clazz = paramValue.toString();
      } else if (paramName.equals("default")) {
        defaultvalue = paramValue.toString();
      } else if (paramName.equals("nid")) {
        nid = paramValue.toString();
      } else if (paramName.equals("disabled")) {
        disabled = paramValue.toString();
      } else if (paramName.equals("noselect")) {
        noselect = paramValue.toString();
      } else if (paramName.equals("type")) {
        type = paramValue.toString();
      } else if (paramName.equals("typeid")) {
        if (!(paramValue instanceof TemplateNumberModel)) {
          throw new TemplateModelException("The \"typeid\" parameter must be a number.");
        }

        typeid = ((TemplateNumberModel) paramValue).getAsNumber().intValue();
      }
    }
    String result = "";
    if (plantext)
      result = plaintext(name, id, clazz, defaultvalue, typeid, nid, disabled, type, noselect);
    else {
      result = html(name, id, clazz, defaultvalue, typeid, nid, disabled, type, noselect);
    }
    Writer out = env.getOut();
    out.write(result);
  }
 public Collection<Entity<?>> convert(TemplateHashModelEx hash, String... ignore) {
   List<Entity<?>> entities = new LinkedList<Entity<?>>();
   List<String> ignoreList = Arrays.asList(ignore);
   TemplateCollectionModel keys;
   try {
     keys = hash.keys();
     for (TemplateModelIterator iterator = keys.iterator(); iterator.hasNext(); ) {
       TemplateModel model = iterator.next();
       String key = model.toString();
       if (!ignoreList.contains(key)) {
         entities.add(new SimpleEntityModel(key, hash.get(key).toString()));
       }
     }
     Collections.sort(entities, new EntityComparator());
     return entities;
   } catch (TemplateModelException e) {
     throw new RuntimeException(e);
   }
 }