コメントを書く - commentプロセッサ

Mayaa の「コメント」には2種類のコメントがあります。テンプレートの一部であるコメントと、mayaa ファイルに書くコメントです。

テンプレートの一部であるコメント

テンプレートの一部であるコメントとは、テンプレートに HTML コメントの形式 (<!-- -->) で記述したコメントのことで、処理結果として出力されます。このコメントの内側に id を持つタグがあっても無視されます。ただし ${ } の形式でスクリプトが書かれている場合、それは処理対象になります。 mayaa ファイルから HTML コメントを出力したい場合、m:commentプロセッサを使います。

簡単な例

ごく簡単なサンプルで実際に使ってみましょう。サンプル中の idinCommentcommentOut がありますが、inComment のタグは HTML コメントの内部にあります。

<html>
<body>
    <!--
        <span id="inComment">${ commentValue }</span>
    -->

    <span id="commentOut">hello</span>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<m:mayaa xmlns:m="http://mayaa.seasar.org">
    <m:beforeRender>
        var commentValue = "script in comment";
    </m:beforeRender>

    <m:write m:id="inComment" value="comment" />

    <m:comment m:id="commentOut">
        <m:write value="comment out by mayaa " />
        <m:doBody />
    </m:comment>
</m:mayaa>

ブラウザで http://localhost:8080/mayaa/comment.html にアクセスしてみましょう。

実行結果 (改行などは実際の実行結果と異なります)
<html>
<body>
    <!--
        <span id="inComment">script in comment</span>
    -->

    <!--comment out by mayaa hello-->
</body>
</html>

コメント内にある id="inComment" は処理されず、そのボディにあった${ commentValue } が変数 commentValue の内容に置き換わっています。また、id="commentOut"m:commentプロセッサによってコメントアウトされています。このように、コメント内に動的な値を出したい場合にも対応できます。

mayaa ファイルに書くコメント

mayaa ファイルに XML コメントの形式 (<!-- -->) で記述したコメントは、mayaa の処理対象外になります。つまりこちらは一般的なコメントの扱いになります。