/** * @see com.systop.common.webapp.taglibs.freemarker.BaseFreeMarkerTagSupport * #setTemplateParameters( com.systop.common.webapp.taglibs.template.TemplateContext) */ @Override protected void setTemplateParameters(TemplateContext ctx) { EntryUtil entryUtil = (EntryUtil) getBean(entryUtilBeanName); if (entryUtil == null) { return; } convertI18n(); // 将defaultValue和defaultLable转化为I18N数据 List<Entry> entries = entryUtil.getEntriesBySign(catalog); // 将Catalog对象,转化为SelectedItem对象,用于简化FTL编程. List<SelectableItem> items = new ArrayList(); Boolean hasSelected = Boolean.FALSE; if (!entries.isEmpty()) { for (Entry entry : entries) { SelectableItem item = new SelectableItem(); item.setValue(entry.getRefValue()); item.setLabel(entry.getViewText()); items.add(item); } } Map map = ReflectUtil.toMap( this, new String[] { "name", "onclick", "onchange", "onblur", "style", "styleClass", "defaultValue", "defaultLabel", "multiLine", "size" }, true); map.put("catalogs", items); map.put("hasSelected", hasSelected); ctx.addParameters(map); }