使用Engine.use("forView").getTemplate("template").renderString(data) 渲染模板时,如何设置可以使模板中部分命令字不被渲染执行

使用Engine.use("forView").getTemplate("template").renderString(data) 渲染模板时,如何设置可以使模板中部分命令字不被渲染执行。

比如下面的代码,在渲染的时候,如何让#define这些命令字不被当成指令执行?

#include("/template/common/layout/_page_layout.html")

#@layout()

#define css()

<style>

</style>

#end

#define js()

<script type="text/javascript">

    layui.use(['form', 'layer'], function () {

        // 操作对象

        var form = layui.form

            , layer = layui.layer

            , $ = layui.jquery;

        form.on('submit(sub)', function(data){

            util.sendAjax ({

                type: 'POST',

                url: '#(ctxPath)/system/data/postAdd',

                data: $('#addForm').serialize(),

                loadFlag: true,

                success : function(data){

                    pop_close();

                }

            });

            return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。

        });

    });

</script>

#end

#define content()

<div class="x-body">

</div>

#end


评论区

JFinal

2018-06-26 10:03

有两种办法,一个是使用“原样输出指令”:
#[[#]]#include("/template/common/layout/_page_layout.html")

另一个是使用输出指令:
#("#")include("/template/common/layout/_page_layout.html")

当然,如果你希望更美观的话,可以有多种调整方式:
#[[
#include("/template/common/layout/_page_layout.html")
]]#

#("#include")("/template/common/layout/_page_layout.html")

建议使用“原样输出指令”:
#[[ ]]#

JFinal

2018-06-26 10:04

原样输出指令可以跨越多行,是最方便的

热门反馈

扫码入社