Rumah  >  Soal Jawab  >  teks badan

java - Bagaimanakah freemarker mencapai kesan mudah ini?

Templat

<!DOCTYPE html>
<html>
<head>
<#include "baseHeader.html" />
<#macro head ><#nested></#macro>
<#macro style ><#nested></#macro>
</head>

<body>
<#macro content >
    <#nested>
</#macro>
</body>

<#macro script >
    <#nested>
</#macro>
</html>

Panggilan halaman

<#include "/layout/master.ftl" />
<@script>var a=1;</@script>

Dalam halaman yang dihasilkan sebagai hasilnya, perkataan di sebalik ini var a=1;跑到了</html>, iaitu, pada penghujung templat, tidak muncul dalam kedudukan templat yang sepadan.

Saya telah melakukan ini selama beberapa tahun.net,感觉这种模板要出我的效果应该是理所当然的。
但是在java, dan nampaknya bukan mudah untuk mencapai hasil yang saya harapkan?

我想大声告诉你我想大声告诉你2702 hari yang lalu591

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-05-27 17:43:00

    Freemarker tidak berdasarkan reka letak Ia hanya melakukan penilaian ekspresi dan penggantian teks, yang tidak dapat memenuhi keperluan anda.

    Setahu saya:

    1. Pemalam Struts dan Tiles boleh mencapai kesan reka letak yang anda inginkan.

    2. Thymeleaf digabungkan dengan thymeleaf-layout-dialect juga boleh mencapai kesan yang anda inginkan.

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-27 17:43:00

    Penggunaan makro tidak betul, sila rujuk perkara berikut

    <!-- 定义宏用 <#macro macroName parameterList> -->
    <#macro list title items>
        <p>${title?cap_first}:
        <ul>
            <#list items as item>
            <li>${item}
            </#list>
        </ul>
    </#macro>
    <!-- 调用宏用 <@macroName arguments> -->
    <@list items=animals title="animals"/>

    balas
    0
  • Batalbalas