Enjoy模板里使用laytpl

方法一:用Enjoy模板里的原样输出.

#[[
    {{#  if(d.status == 1){ }}
]]#
        <button class="layui-btn layui-btn-xs">正常</button>
#[[
    {{#  } else { }}
]]#
        <button class="layui-btn layui-btn-primary layui-btn-xs">禁用</button>
#[[
    {{#  } }}
]]#

方法二:自定义laytpl指令

@Override
public void onRender(Env env, Scope scope, Writer writer) {

    if (exprList.length() > 1) {
        throw new ParseException("Wrong number parameter of #date directive, one parameters allowed at most", location);
    }

    String expr = "";
    if(exprList.length() > 0) {
        expr = getParam(0, scope);
    }
	
    write(writer, " {{"+expr);
    stat.exec(env, scope, writer);
    write(writer, "}}");
}

@Override
public boolean hasEnd() {
    return true;
}
#laytpl('#') if(d.status == 1){  #end
    <button class="layui-btn layui-btn-xs">正常</button>	
#laytpl('#') } else { #end
    <button class="layui-btn layui-btn-primary layui-btn-xs">禁用</button>
#laytpl('#') } #end	


好像也没方便多少...    不知道有没有更好的办法.

评论区

JFinal

2018-07-20 17:53

还有一个简单的办法是在字符 ‘#’ 后面根一个换行, jfinal enjoy 识别指令时需要 字符 '#' 与指令名称在同一行,下面是例子:
{{#
if(d.status == 1){ }}

JFinal

2018-07-20 17:54

用 jfinal enjoy 的原样输出指令,套住大片的内容是很好用的

热门分享

扫码入社