org.springframework.web.servlet.view.AbstractTemplateView#org.beetl.core.Context源码实例Demo

下面列出了org.springframework.web.servlet.view.AbstractTemplateView#org.beetl.core.Context 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: beetl2.0   文件: EmptyFunction.java
public static void main(String[] args)
{
	EmptyFunction fn = new EmptyFunction();
	Context ctx = new Context();
	ctx.set("list", new ArrayList());
	ctx.set("array", new Object[]
	{});

	ctx.set("array1", new Object[]
	{ 1, 2 });
	System.out.println(fn.call(new Object[]
	{ "lijz" }, ctx));
	System.out.println(fn.call(new Object[]
	{ "list" }, ctx));
	System.out.println(fn.call(new Object[]
	{ "array" }, ctx));
	System.out.println(fn.call(new Object[]
	{ "array1" }, ctx));

}
 
源代码2 项目: springboot-plus   文件: VerifyForamtFunction.java
@Override
 public String call(Object[] arg0, Context arg1) {
 	
 	StringBuilder sb = new StringBuilder("");
 	
 	if(arg0[0] instanceof List){
 		List<Verify> list = (List)arg0[0];
 		for (int i = 0; i < list.size(); i++) {
 			Verify verify = list.get(i);
 			if(i < list.size() - 1){
 				sb.append(verify.getName()+"|");
 			}else{
 				sb.append(verify.getName());
 			}
}
 	}
 	
     return sb.toString();
 }
 
源代码3 项目: beetl2.0   文件: CheckExistFunction.java
public Boolean call(Object[] paras, Context ctx)
{

	if (ctx.globalVar == null)
		return false;
	String key = null;
	for (Object o : paras)
	{
		key = (String) o;

		if (ctx.globalVar.containsKey(key))
		{
			continue;
		}
		else
		{
			return false;
		}
	}
	return true;

}
 
源代码4 项目: beetl2.0   文件: BasicProgramOptProbe.java
@Override
public void check(Context ctx)
{
	StatementParser seacher = new StatementParser(program.metaData.statements, program.gt, program.res.getId());
	Map<Class, Listener> map = initProbeNode();
	for (Entry<Class, Listener> entry : map.entrySet())
	{
		seacher.addListener(entry.getKey(), entry.getValue());
	}

	this.initProbeNode();
	seacher.parse();
	this.program.gt.getProgramCache().set(program.res.getId(), program);
	ProgramReplaceEvent event = new ProgramReplaceEvent(program);
	this.program.gt.fireEvent(event);

}
 
源代码5 项目: beetl2.0   文件: JsonMapExpression.java
public Object evaluate(Context ctx)
{
	if (map.size() == 0)
	{
		return new LinkedHashMap();
	}
	else
	{
		Map values = new LinkedHashMap(map.size());
		for (Entry<String, Expression> entry : map.entrySet())
		{
			values.put(entry.getKey(), entry.getValue().evaluate(ctx));
		}
		return values;

	}
}
 
源代码6 项目: beetl2.0   文件: VarVirtualAttribute.java
@Override
public void infer(InferContext inferCtx)
{
	Type type = (Type) inferCtx.temp;
	VirtualClassAttribute vae = inferCtx.gt.getVirtualAttributeEval(type.cls, name);
	if (vae == null)
	{
		this.type = Type.ObjectType;
	}
	else
	{
		Method m = ObjectUtil.getGetMethod(vae.getClass(), "eval", new Class[]
		{ Object.class, String.class, Context.class });
		this.type = new Type(m.getReturnType());
	}

}
 
源代码7 项目: beetl2.0   文件: Print.java
public String call(Object[] paras, Context ctx)
{
	Object o = paras[0];

	if (o != null)
	{
		try
		{
			ctx.byteWriter.writeString(o.toString());
		}
		catch (IOException e)
		{
			BeetlException be = new BeetlException(BeetlException.CLIENT_IO_ERROR_ERROR);
			throw be;
		}
	}
	return "";

}
 
源代码8 项目: beetl2.0   文件: SafePlaceholderST.java
@Override
public void execute(Context ctx)
{
	try
	{
		Object value = exp.evaluate(ctx);
		if (format != null)
		{
			value = format.evaluateValue(value, ctx);
		}
		ctx.byteWriter.writeObject(value);
	}
	catch (Exception ex)
	{

	}

}
 
源代码9 项目: beetl2.0   文件: SpELFunction.java
/**
 * 方法调用
 *
 * @param args
 *            方法参数列表
 * @param context
 *            Beetl执行上下文
 * @return SpEL表达式执行结果
 */
@Override
public Object call(Object[] args, Context context) {
	// 只能有一个参数且只能为字符串
	if ((args.length >= 1) && (args[0] instanceof String) && (args[0] != null)) {
		String spel = (String) args[0];
		Expression expression = getExpression(spel);
		// 如果有第二参数,取他作为根对象
		if ((args.length >= 2) && (args[1] != null)) {
			return expression.getValue(createEvaluationContext(args[1], context));
		} else {
			return expression.getValue(createEvaluationContext(Collections.emptyMap(), context));
		}
	}
	return null;
}
 
源代码10 项目: beetl2.0   文件: AssertFunction.java
public String call(Object[] paras, Context ctx)
{

	if (ASSERT)
	{
		boolean result = (Boolean) paras[0];
		String msg = null;
		if (paras.length > 1)
		{
			msg = (String) paras[1];
		}
		if (!result)
		{
			throw new RuntimeException(msg == null ? "断言异常" : msg);
		}
		return "";
	}
	else
	{
		return "";
	}

}
 
源代码11 项目: beetl2.0   文件: TypeNewFunction.java
@Override
public Object call(Object[] paras, Context ctx) {
	String clsName = (String)paras[0];
	Class cls = ctx.gt.getClassSearch().getClassByName(clsName);
	if(cls!=null){
		try{
			return cls.newInstance();
		}catch(Exception ex){
			throw new RuntimeException("创建类实例失败:"+cls+",error:"+ex.getMessage(),ex);
		}
		
	}else{
		throw new RuntimeException("不能加载类:"+clsName+" classloader:"+ctx.gt.getClassLoader());
	}
	

}
 
源代码12 项目: beetl2.0   文件: AccessUrlIfFunction.java
@Override
public Boolean call(Object[] paras, Context ctx) {
	// 如果没有安全上下文,固定返回true
	SecurityContext securityContext = SecurityContextHolder.getContext();
	if (securityContext == null) {
		return true;
	}
	// 用户未登录
	Authentication authentication = getAuthentication(securityContext);

	// 如果未提供URL,固定返回true
	if ((paras.length == 0) || (paras[0] == null) || !(paras[0] instanceof String)) {
		return true;
	}
	String url = (String) paras[0];
	// 默认请求方式为GET,由第二参数给定
	String method = "GET";
	if ((paras.length > 1) && (paras[1] != null) && (paras[1] instanceof String)) {
		method = (String) paras[1];
	}
	return privilegeEvaluator.isAllowed(servletContext.getContextPath(), url, method, authentication);
}
 
源代码13 项目: beetl2.0   文件: ParseDouble.java
public static void main(String[] args)
{
	Double d = 1232323232323.89;
	System.out.println(d);
	String str = d.toString();
	double c = Double.parseDouble(str);
	System.out.println(c);
	ParseDouble pDouble = new ParseDouble();
	Context ctx = new Context();
	System.out.println(pDouble.call(new Object[]
	{ -01.}, ctx));
	System.out.println(pDouble.call(new Object[]
	{ 2332.23213 }, ctx));
	System.out.println(pDouble.call(new Object[]
	{ "-1.023" }, ctx));
	System.out.println(pDouble.call(new Object[]
	{ "abcd" }, ctx));
}
 
源代码14 项目: beetl2.0   文件: IfStatement.java
@Override
public void execute(Context ctx)
{
	// TODO Auto-generated method stub
	Object value = condtion.evaluate(ctx);

	if (ALU.isTrue(value, this))
	{
		ifStatement.execute(ctx);
	}
	else
	{
		if (elseStatement != null)
		{
			elseStatement.execute(ctx);
		}
	}

}
 
源代码15 项目: beetl2.0   文件: CookieFunction.java
public Object call(Object[] paras, Context ctx)
{
	
	 HttpServletRequest request = (HttpServletRequest)ctx.getGlobal(WebVariable.REQUEST);
	 Cookie[] cookies = request.getCookies();
	 if(paras.length==0){
		 return cookies;
	 }else{
		 String name = (String)paras[0];
		 for(Cookie cookie:cookies){
			 if(cookie.getName().equals(name)){
				 return cookie;
			 }
		 }
		 return null;
		 
	 }

}
 
源代码16 项目: beetl2.0   文件: VarRefAssignStatement.java
public void execute(Context ctx)
{
	Object value =  exp.evaluate(ctx);
	Object obj = varRef.evaluateUntilLast(ctx);
	Object key = null;
	if(lastVarAttribute instanceof VarSquareAttribute){
		key  = (((VarSquareAttribute)lastVarAttribute).exp).evaluate(ctx);
		
		
	}else {
		key = lastVarAttribute.name;
	}
	try{
		ObjectAA.defaultObjectAA().setValue(obj, key, value);
	}catch(ClassCastException ex){
		BeetlException bx = new BeetlException(BeetlException.ATTRIBUTE_INVALID,ex);
		bx.pushToken(lastVarAttribute.token);
		throw bx;
	}catch(BeetlException be){
		be.pushToken(lastVarAttribute.token);
		throw be;
	}
	
	

}
 
源代码17 项目: beetl2.0   文件: HasAttributeFunction.java
@Override
public Object call(Object[] paras, Context ctx) {
	Object  o = paras[0];
	if(o==null) {
		throw new NullPointerException();
	}
	if(o instanceof Map) {
		return false;
	}
	Class type  = o.getClass();
	for(int i=1;i<paras.length;i++) {
		String key = (String)paras[i];
		MethodInvoker invoke = ObjectUtil.getInvokder(type, key);
		if(invoke==null) {
			return false;
		}else if(invoke instanceof GeneralGetMethodInvoker) {
			return false ;
		}
	}
	return true;
}
 
源代码18 项目: beetl2.0   文件: ParseLong.java
@Override
public Object call(Object[] paras, Context ctx)
{
	Object o = paras[0];
	String str = "";
	if (o == null)
		throw new NullPointerException("Error:parseLong(null)");
	long result;
	if (o instanceof Number)
	{
		long n = ((Number) o).longValue();
		str = String.valueOf(n);
	}
	else
	{
		str = o.toString();
	}
	if (str.indexOf(".") != -1)
	{
		str = str.split("\\.")[0];
	}
	Pattern pattern = Pattern.compile("-?[0-9]*");
	Matcher isNum = pattern.matcher(str);
	if (o == null || o.equals("") || !isNum.matches())
	{
		throw new RuntimeException("无法正确转换至long格式");
	}
	try
	{
		result = Long.parseLong(str);
	}
	catch (NumberFormatException e)
	{
		throw new RuntimeException("超出long范围");
	}
	return result;
}
 
源代码19 项目: MeetingFilm   文件: BeetlConfiguration.java
@Override
public void initOther() {
    groupTemplate.registerFunctionPackage("shiro", new ShiroExt());
    groupTemplate.registerFunctionPackage("tool", new ToolUtil());
    groupTemplate.registerFunctionPackage("kaptcha", new KaptchaUtil());
    groupTemplate.registerTagFactory("dictSelector", new TagFactory() {
        @Override
        public Tag createTag() {
            return dictSelectorTag;
        }
    });

    groupTemplate.registerFunction("env", new Function() {
        @Override
        public String call(Object[] paras, Context ctx) {
            String key = (String)paras[0];
            String value =  env.getProperty(key);
            if(value!=null) {
                return getStr(value);
            }
            if(paras.length==2) {
                return (String)paras[1];
            }
            return null;
        }

        protected String getStr(String str) {
            try {
                return new String(str.getBytes("iso8859-1"),"UTF-8");
            } catch (UnsupportedEncodingException e) {
                throw new RuntimeException(e);
            }
        }
    });
}
 
源代码20 项目: beetl2.0   文件: HTMLTagVarBindingWrapper.java
public void init(Context ctx, Object[] args, Statement st)
{
	super.init(ctx, args, st);
	if (args.length == 0 || args.length > 3)
	{
		throw new RuntimeException("参数错误,期望child,Map .....");
	}
	String child = (String) args[0];
	// 已经注册的Tag
	TagFactory tagFactory = null;
	String functionTagName = child.replace(':', '.');
	tagFactory = this.gt.getTagFactory(functionTagName);
	if (tagFactory == null)
	{
		throw new RuntimeException("标签初始化错误,未找到指定的标签实现类" + functionTagName);
	}
	tag = tagFactory.createTag();
	if (tag == null)
	{
		throw new RuntimeException("找不到注册的Tag");

	}
	else if (!(tag instanceof TagVarBinding))
	{
		throw new RuntimeException(tag.getClass() + " 必须是TagVarBinding的实现类");
	}

	tag.init(ctx, args, st);

}
 
源代码21 项目: springboot-plus   文件: SearchCondtionFunction.java
/**
 *
 * @param paras 查询条件类名
 * @param ctx
 * @return
 */
@Override
public Object call(Object[] paras, Context ctx) {
    String className = (String) paras[0];
    try {
        List<Map<String, Object>> list = AnnotationUtil.getInstance().getAnnotations(Query.class, Class.forName(className));
        return list;
    } catch (ClassNotFoundException e ) {
        e.printStackTrace();
        return null;
    }
}
 
源代码22 项目: springboot-plus   文件: FileFunction.java
@Override
public List<FileItem> call(Object[] paras, Context arg1) {
    String attachmentId = (String)paras[0];
    if(StringUtils.isEmpty(attachmentId)) {
        return Collections.EMPTY_LIST;
    }
    return  fileService.queryByBatchId(attachmentId);
}
 
源代码23 项目: springboot-plus   文件: SysFunctionTreeFunction.java
public Object call(Object[] paras, Context ctx) {
	FunctionItem tree = platFormService.buildFunction();
	StringBuilder sb = new StringBuilder(256).append("[");
	FunctionItem  root = tree.getChildren().get(0);
	build(sb,root);
	sb.append("]");
	return sb.toString();
	
}
 
源代码24 项目: zooadmin   文件: PathFunc.java
@Override
public String call(Object[] objects, Context context) {
    Object o=objects[0];
    if(o!=null){
        String path=o.toString();
        if(path.equals("/")){
            return path;
        }else{
            path=path.substring(path.lastIndexOf("/"));
            path= StringUtil.ltrim(path,new char[]{'/'});
        }
        return path;
    }
    return null;
}
 
源代码25 项目: beetl2.0   文件: Str2Json.java
@Override
public Object call(Object[] paras, Context ctx)
{
	String str = (String) paras[0];
	String json = "var a=".concat(str).concat(";");
	Map map = BeetlKit.executeAndReturnRootScopeVars(json);
	return map.get("a");
}
 
源代码26 项目: zooadmin   文件: PathFunc.java
@Override
public String call(Object[] objects, Context context) {
    Object o=objects[0];
    if(o!=null){
        String path=o.toString();
        if(path.equals("/")){
            return path;
        }else{
            path=path.substring(path.lastIndexOf("/"));
            path= StringUtil.ltrim(path,new char[]{'/'});
        }
        return path;
    }
    return null;
}
 
源代码27 项目: java-platform   文件: ThumbnailFunction.java
@Override
public Object call(Object[] paras, Context ctx) {
	if (paras.length == 1) {
		String source = (String) paras[0];
		if (!Strings.isNullOrEmpty(source)) {
			String path = StringUtils.substringBeforeLast(source, ".");
			String extension = StringUtils.substringAfterLast(source, ".");
			return path + "-thumb." + extension;
		}
	}
	return null;
}
 
源代码28 项目: beetl2.0   文件: VarAttribute.java
public Object evaluate(Context ctx, Object o)
	{
		try{

			return aa.value(o, name);
		}catch(ClassCastException ex){
//			System.out.println(o.getClass().getClassLoader()+" ==== "+aa.getClass().getClassLoader());
			throw BeetlUtil.throwCastException(ex,ctx.gt);
		}
		
	}
 
源代码29 项目: java-platform   文件: I18nFunction.java
@Override
public Object call(Object[] paras, Context ctx) {

	RequestContext requestContext = (RequestContext) ctx
			.getGlobal(AbstractTemplateView.SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE);

	Assert.notNull(requestContext);
	Assert.notNull(paras);
	Assert.isTrue(paras.length > 0);

	String code = (String) paras[0];
	Object[] args = paras.length > 1 ? Arrays.copyOfRange(paras, 1, paras.length) : null;

	return requestContext.getMessage(code, args);
}
 
源代码30 项目: actframework   文件: BeetlTestFunction.java
@Override
public Object call(Object[] objects, Context context) {
    String value = (String) objects[0];
    String ovalue = (String) objects[1];
    if(S.eq(value, ovalue, S.IGNORECASE)){
        return "checked";
    }
    return "";
}