Package org.lilystudio.smarty4j

Examples of org.lilystudio.smarty4j.Context


    Assert.assertEquals("或运算", getResult("{$null || $int}"), "-1");
  }

  @Test
  public void testBean() throws Exception {
    Context c = new Context();
    Bean bean = new Bean();
    c.putBean(bean);
    Template template = new Template(engine, "{$number}");
    Writer writer = new StringWriter();
    template.merge(c, writer);
    Assert.assertEquals("Bean导入", writer.toString(), "10");
View Full Code Here


    template = new Template(SmartyResult.getEngine(), text);
    names = objects;
  }

  public String parse(Map<String, Object> map) throws Exception {
    Context context = new Context();
    context.putAll(map);
    // 进行临时的输出, 成功才真正的返回得到的结果
    StringWriter out = new StringWriter();
    template.merge(context, out);
    // 回写指定的参数
    if (names != null) {
      for (String name : names) {
        map.put(name, context.get(name));
      }
    }
    return out.toString();
  }
View Full Code Here

    }

    // 取得父容器的配置信息
    Engine engine = template.getEngine();
    Map<String, Object> config = context.getConfigures();
    Context parentContext = context.getParent();
    Map<String, Object> parent;
    if (parentContext != null) {
      parent = parentContext.getConfigures();
    } else {
      parent = null;
    }

    // 根据配置加载的级别, 设置配置的内容范围
View Full Code Here

  public void execute(HttpServletRequest request, HttpServletResponse response,
      IRelay relay) throws Exception {
    setParameters(relay);
    Template template = engine.getTemplate(relay.getRealPath(path));
    Context context = new Context();
    context.putAll(relay.getDataMap());
    response.setContentType(type);
    response.setCharacterEncoding(engine.getEncoding());
    template.merge(context, response.getWriter());
  }
View Full Code Here

    // 加载子模板, 设置子模板的父容器
    Template template = context.getTemplate();
    String name = template.getPath((String) values[0], true);

    template = template.getEngine().getTemplate(name);
    Context childContext = new Context(context);

    int len = values.length;
    for (int i = 2; i < len; i += 2) {
      childContext.set((String) values[i], values[i + 1]);
    }

    template.merge(childContext, writer);

    if (assign != null) {
View Full Code Here

      path = "WEB-INF/" + path.replace('.', '/') + ext;
    }

    Template template = engine.getTemplate(path);
   
    Context ctx = new Context(); // 生成数据容器对象
    ctx.set("obj", obj);
    ctx.set("request", req);
    ctx.set("base", req.getAttribute("base"));
    ctx.set("session", req.getSession());

    template.merge(ctx, resp.getWriter());
  }
View Full Code Here

TOP

Related Classes of org.lilystudio.smarty4j.Context

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.