当前位置: 首页>>代码示例>>Java>>正文


Java Environment.setVariable方法代码示例

本文整理汇总了Java中freemarker.core.Environment.setVariable方法的典型用法代码示例。如果您正苦于以下问题:Java Environment.setVariable方法的具体用法?Java Environment.setVariable怎么用?Java Environment.setVariable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在freemarker.core.Environment的用法示例。


在下文中一共展示了Environment.setVariable方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: reloadValues

import freemarker.core.Environment; //导入方法依赖的package包/类
public static void reloadValues(Map<String, Object> context, Map<String, Object> saveValues, Environment env) {
    for (Map.Entry<String, Object> entry: saveValues.entrySet()) {
        String key = entry.getKey();
        Object o = entry.getValue();
        if (o instanceof Map<?, ?>) {
            context.put(key, UtilMisc.makeMapWritable(UtilGenerics.checkMap(o)));
        } else if (o instanceof List<?>) {
            List<Object> list = new ArrayList<Object>();
            list.addAll(UtilGenerics.checkList(o));
            context.put(key, list);
        } else {
            context.put(key, o);
        }
        env.setVariable(key, autoWrap(o, env));
    }
}
 
开发者ID:ilscipio,项目名称:scipio-erp,代码行数:17,代码来源:FreeMarkerWorker.java

示例2: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException {
        System.out.println("################# Start env ##"+env);
        try {
            String check = RandTagProperty(params);
            logger.info("## "+JSON.toJSON(params) );
           // logger.info("## "+env.getOut());
           // if(!"".equals(check))
        } catch (Exception e) {
            e.printStackTrace();
        }
       // System.out.println("################# Start params ##" + JSON.toJSON(params)+"- "+params.get("condition")+"- "+params.get("pagesize"));
       // System.out.println("################# Start loopVars ##"+JSON.toJSON(loopVars));

        List<Map> list = sqlMapper.getDataList(linkMapSql(params));
        env.setVariable("list", DEFAULT_WRAPPER.wrap(list));
        // 指令内容体不为空
        if (body != null) {
            // Executes the nested body. Same as <#nested> in FTL, except
            // that we use our own writer instead of the current output writer.
//            Writer out = env.getOut();
//            out.write(env.getTemplate().toString());
            body.render(env.getOut().append("<div style='height:50px;width:100px;border:1px solid red'>sss</div>"));
        } else {
            throw new RuntimeException("missing body");
        }
    }
 
开发者ID:blogshun,项目名称:ants-project,代码行数:27,代码来源:SqlTag.java

示例3: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
    throws TemplateException, IOException {
    SimpleScalar pVar = (SimpleScalar) params.get("var");

    List<RetailStore> retailStoreList = retailStores.enabledRetailStores();

    if (pVar != null) {
        // Sets the result into the current template as if using <#assign
        // name=model>.
        env.setVariable(pVar.getAsString(), DefaultObjectWrapper.getDefaultInstance().wrap(retailStoreList));
    } else {
        // Sets the result into the current template as if using <#assign
        // name=model>.
        env.setVariable("retailStores", DefaultObjectWrapper.getDefaultInstance().wrap(retailStoreList));
    }
}
 
开发者ID:geetools,项目名称:geeCommerce-Java-Shop-Software-and-PIM,代码行数:19,代码来源:FetchRetailStoresDirective.java

示例4: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
@Override
public void execute(Environment environment, Map map, TemplateModel[] templateModels,
                    TemplateDirectiveBody templateDirectiveBody) throws TemplateException, IOException {
  DefaultObjectWrapperBuilder builder = new DefaultObjectWrapperBuilder(Configuration.VERSION_2_3_26);

  environment.setVariable("blogs", builder.build().wrap(fileUtil.getBlogs()));

  templateDirectiveBody.render(environment.getOut());
}
 
开发者ID:tomoya92,项目名称:pyblog,代码行数:10,代码来源:BlogsDirective.java

示例5: execBuiltIn

import freemarker.core.Environment; //导入方法依赖的package包/类
/**
 * Executes an arbitrary FTL built-in - non-abstracted version (for optimization only!).
 */
public static TemplateModel execBuiltIn(Template builtInCall, TemplateModel value, TemplateModel[] builtInArgs, Environment env) throws TemplateModelException {
    final int argCount = (builtInArgs != null) ? builtInArgs.length : 0;
    env.setVariable("_scpEbiVal", value);
    for(int i=0; i < argCount; i++) {
        env.setVariable("_scpEbiArg"+i, builtInArgs[i]);
    }
    execFtlCode(builtInCall, env);
    return env.getVariable("_scpEbiRes");
}
 
开发者ID:ilscipio,项目名称:scipio-erp,代码行数:13,代码来源:LangFtlUtil.java

示例6: execFunction

import freemarker.core.Environment; //导入方法依赖的package包/类
/**
 * Executes an arbitrary FTL function - non-abstracted version (for optimization only!).
 */
public static TemplateModel execFunction(Template functionCall, TemplateModel[] args, Environment env) throws TemplateModelException {
    final int argCount = (args != null) ? args.length : 0;
    for(int i=0; i < argCount; i++) {
        env.setVariable("_scpEfnArg"+i, args[i]);
    }
    execFtlCode(functionCall, env);
    return env.getVariable("_scpEfnRes");
}
 
开发者ID:ilscipio,项目名称:scipio-erp,代码行数:12,代码来源:LangFtlUtil.java

示例7: execMacro

import freemarker.core.Environment; //导入方法依赖的package包/类
/**
 * Executes an arbitrary FTL macro - non-abstracted version (for optimization only!).
 */
public static void execMacro(Template macroCall, Map<String, TemplateModel> args, Environment env) throws TemplateModelException {
    if (args != null) {
        for(Map.Entry<String, TemplateModel> entry : args.entrySet()) {
            env.setVariable("_scpEfnArg_"+entry.getKey(), entry.getValue());
        }
    }
    execFtlCode(macroCall, env);
}
 
开发者ID:ilscipio,项目名称:scipio-erp,代码行数:12,代码来源:LangFtlUtil.java

示例8: setVariables

import freemarker.core.Environment; //导入方法依赖的package包/类
/**
 * 设置变量
 * 
 * @param variables
 *            变量
 * @param env
 *            Environment
 */
public static void setVariables(Map<String, Object> variables, Environment env) throws TemplateException {
	Assert.notNull(variables);
	Assert.notNull(env);
	for (Entry<String, Object> entry : variables.entrySet()) {
		String name = entry.getKey();
		Object value = entry.getValue();
		if (value instanceof TemplateModel) {
			env.setVariable(name, (TemplateModel) value);
		} else {
			env.setVariable(name, ObjectWrapper.BEANS_WRAPPER.wrap(value));
		}
	}
}
 
开发者ID:justinbaby,项目名称:my-paper,代码行数:22,代码来源:FreemarkerUtils.java

示例9: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException {
    List<Map> list = categoryMapper.selectCategoryList();
    env.setVariable("list", DEFAULT_WRAPPER.wrap(list));
    System.out.println("##:"+JSON.toJSON(params));
    if (body != null) {
        body.render(env.getOut());
    } else {
        throw new RuntimeException("missing body");
    }
}
 
开发者ID:blogshun,项目名称:ants-project,代码行数:12,代码来源:CategoryTag.java

示例10: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
    throws TemplateException, IOException {
    TemplateModel pValue = (TemplateModel) params.get("value");
    SimpleScalar pVar = (SimpleScalar) params.get("var");

    if (pVar == null)
        throw new IllegalArgumentException("The var parameter cannot be null in set-directive");

    String var = pVar.getAsString();
    Object value = null;

    if (pValue != null) {
        if (pValue instanceof StringModel) {
            value = ((StringModel) pValue).getWrappedObject();
        } else if (pValue instanceof SimpleHash) {
            value = ((SimpleHash) pValue).toMap();
        } else {
            value = DeepUnwrap.unwrap(pValue);
        }
    } else if (body != null) {
        StringWriter sw = new StringWriter();

        try {
            body.render(sw);
            value = sw.toString().trim();
        } finally {
            IOUtils.closeQuietly(sw);
        }
    }

    env.setVariable(var, DefaultObjectWrapper.getDefaultInstance().wrap(value));
}
 
开发者ID:geetools,项目名称:geeCommerce-Java-Shop-Software-and-PIM,代码行数:35,代码来源:SetDirective.java

示例11: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
@SuppressWarnings({ "rawtypes", "deprecation" })
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
    throws TemplateException, IOException {
    if (log.isTraceEnabled()) {
        log.trace(params);
    }

    SimpleNumber width = (SimpleNumber) params.get("width");
    SimpleNumber height = (SimpleNumber) params.get("height");
    SimpleScalar uri = (SimpleScalar) params.get("uri");
    SimpleScalar var = (SimpleScalar) params.get("var");
    BeanModel pSource = (BeanModel) params.get("src");
    TemplateBooleanModel pParent = (TemplateBooleanModel) params.get("parent");

    if (pSource != null && uri != null)
        throw new IllegalArgumentException("The parameters 'src' and 'uri' cannot be set at the same time.");

    if (pSource == null && uri == null)
        throw new IllegalArgumentException("You must provide either a 'src' or 'uri' parameter.");

    Product product = null;
    String uriStr = null;
    boolean fallbackToParent = false;

    if (pParent != null) {
        fallbackToParent = pParent.getAsBoolean();
    }

    if (pSource != null) {

        if (!(pSource instanceof BeanModel))
            throw new IllegalArgumentException("The parameter 'src' must be of type BeanModel (Product)");

        Object beanModel = ((BeanModel) pSource).getWrappedObject();

        if (beanModel instanceof Product) {
            product = (Product) beanModel;

            if (product.getMainImage() != null) {
                uriStr = product.getMainImage().getPath();
            }

            if (uriStr == null && product.isVariant() && fallbackToParent) {
                Product parent = product.getParent();

                if (parent != null && parent.getMainImage() != null) {
                    uriStr = parent.getMainImage().getPath();
                }
            }
        } else {
            throw new IllegalArgumentException("The source-object must be of type Product");
        }
    }

    if (uri != null || uriStr != null) {
        if (uri != null) {
            uriStr = uri.getAsString();
        }

        String varStr = null;

        if (var != null)
            varStr = var.getAsString();

        if (!Str.isEmpty(uriStr)) {
            String mediaAssetURL = catalogMediaHelper.toMediaAssetURL(uriStr,
                width == null ? null : width.getAsNumber().intValue(),
                height == null ? null : height.getAsNumber().intValue());

            if (varStr != null) {
                env.setVariable(varStr, DefaultObjectWrapper.getDefaultInstance().wrap(mediaAssetURL));
            } else {
                env.getOut().write(mediaAssetURL);
            }
        }
    }
}
 
开发者ID:geetools,项目名称:geeCommerce-Java-Shop-Software-and-PIM,代码行数:79,代码来源:CatalogMediaAssetURLDirective.java

示例12: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
    throws TemplateException, IOException {
    TemplateModel pItem = (TemplateModel) params.get("item");
    SimpleScalar pVar = (SimpleScalar) params.get("var");

    App app = App.get();
    List<NavigationItem> navItems = app.registryGet(NavigationConstant.NAV_ITEMS);
    List<Id> navItemIds = app.registryGet(NavigationConstant.NAV_ITEM_IDS);

    boolean isActive = false;
    String var = null;

    if (pVar != null)
        var = pVar.getAsString();

    if (pItem != null && navItems != null) {
        Object navItem = null;

        if (pItem instanceof SimpleScalar) {
            navItem = ((SimpleScalar) pItem).getAsString();
        } else if (pItem instanceof SimpleNumber) {
            navItem = Id.valueOf(((SimpleNumber) pItem).getAsNumber());
        } else if (pItem instanceof StringModel) {
            navItem = ((StringModel) pItem).getWrappedObject();
        } else {
            navItem = DeepUnwrap.unwrap(pItem);
        }

        if (navItem instanceof String) {
            for (NavigationItem navigationItem : navItems) {
                if ((navigationItem.getLabel() != null
                    && Str.trimEqualsIgnoreCase((String) navItem, navigationItem.getLabel().str()))
                    || Str.trimEqualsIgnoreCase((String) navItem, navigationItem.getDisplayURI())) {
                    isActive = true;
                    break;
                }
            }
        } else if (navItem instanceof Id) {
            isActive = navItemIds.contains(navItem);
        } else if (navItem instanceof NavigationItem) {
            isActive = navItemIds.contains(((NavigationItem) navItem).getId());
        }
    }

    if (isActive && Str.isEmpty(var)) {
        body.render(env.getOut());
    } else {
        env.setVariable(var, DefaultObjectWrapper.getDefaultInstance().wrap(isActive));
    }
}
 
开发者ID:geetools,项目名称:geeCommerce-Java-Shop-Software-and-PIM,代码行数:52,代码来源:IsActiveDirective.java

示例13: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
    throws TemplateException, IOException {
    if (log.isTraceEnabled()) {
        log.trace(params);
    }

    SimpleScalar pType = (SimpleScalar) params.get("type");
    TemplateModel pId = (TemplateModel) params.get("id");
    SimpleScalar pVar = (SimpleScalar) params.get("var");

    String type = null;
    String varName = null;

    if (pType != null)
        type = pType.getAsString();

    if (pVar != null)
        varName = pVar.getAsString();

    if (pId != null && !Str.isEmpty(type)) {
        Object beanModel = null;

        if (pId instanceof SimpleScalar)
            beanModel = ((SimpleScalar) pId).getAsString();

        if (pId instanceof SimpleNumber)
            beanModel = ((SimpleNumber) pId).getAsNumber();

        else if (pId instanceof StringModel)
            beanModel = ((StringModel) pId).getAsString();

        else if (pId instanceof NumberModel)
            beanModel = ((NumberModel) pId).getAsNumber();

        else if (pId instanceof BeanModel)
            beanModel = ((BeanModel) pId).getWrappedObject();

        Id id = Id.valueOf(beanModel);

        Class<? extends Model> modelClass = Models.findBy(type);

        if (modelClass != null) {
            Object obj = restService.get(modelClass, id);

            if (obj != null)
                env.setVariable(Str.isEmpty(varName) ? modelClass.getSimpleName() : varName,
                    DefaultObjectWrapper.getDefaultInstance().wrap(obj));
        }
    }
}
 
开发者ID:geetools,项目名称:geeCommerce-Java-Shop-Software-and-PIM,代码行数:53,代码来源:GetDirective.java

示例14: execute

import freemarker.core.Environment; //导入方法依赖的package包/类
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
    throws TemplateException, IOException {
    SimpleScalar pPath = (SimpleScalar) params.get("path");
    TemplateModel pTarget = (TemplateModel) params.get("target");
    SimpleScalar pVar = (SimpleScalar) params.get("var");

    String path = null;
    String varName = null;

    App app = App.get();

    // String path has precedence.
    if (pPath != null) {
        path = pPath.getAsString();

        if (!Str.isEmpty(path) && !Str.SLASH.equals(path.trim())) {
            UrlRewrite urlRewrite = urlRewrites.forTargetURI(path);

            if (urlRewrite != null) {
                String requestPath = ContextObjects.findCurrentLanguage(urlRewrite.getRequestURI());

                if (!Str.isEmpty(requestPath))
                    path = requestPath;
            }
        }
    }

    // If no path was set, attempt other objects.
    if (path == null && pTarget != null) {
        Object target = DeepUnwrap.unwrap(pTarget);

        if (target instanceof TargetSupport) {
            path = app.helper(TargetSupportHelper.class).findURI((TargetSupport) target);
        } else if (target instanceof ContextObject) {
            path = ContextObjects.findCurrentLanguageOrGlobal((ContextObject<String>) target);
        } else {
            path = target.toString();
        }
    }

    // Optionally put the result into a parameters map instead of outputting
    // it.
    if (pVar != null)
        varName = pVar.getAsString();

    if (path != null) {
        HttpServletResponse response = app.servletResponse();

        if (varName != null) {
            // Sets the result into the current template as if using
            // <#assign name=model>.
            env.setVariable(varName, DefaultObjectWrapper.getDefaultInstance().wrap(response.encodeURL(path)));
        } else {
            // Simply writes the result to the template.
            env.getOut().write(response.encodeURL(path));
        }
    }
}
 
开发者ID:geetools,项目名称:geeCommerce-Java-Shop-Software-and-PIM,代码行数:61,代码来源:URLDirective.java

示例15: setVariable

import freemarker.core.Environment; //导入方法依赖的package包/类
/**
 * 设置全局参数
 * 
 * @param name
 * @param value
 * @param env
 * @throws TemplateException
 */
public static void setVariable(String name, Object value, Environment env) throws TemplateException {
    if (value instanceof TemplateModel) {
        env.setVariable(name, (TemplateModel) value);
    } else {
        env.setVariable(name, configuration.getObjectWrapper().wrap(value));
    }
}
 
开发者ID:lftao,项目名称:restclient,代码行数:16,代码来源:FkUtils.java


注:本文中的freemarker.core.Environment.setVariable方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。