コメントを書く - commentプロセッサ
Mayaa の「コメント」には2種類のコメントがあります。テンプレートの一部であるコメントと、mayaa ファイルに書くコメントです。
テンプレートの一部であるコメント
テンプレートの一部であるコメントとは、テンプレートに HTML コメントの形式 (<!-- -->
) で記述したコメントのことで、処理結果として出力されます。このコメントの内側に id
を持つタグがあっても無視されます。ただし ${ }
の形式でスクリプトが書かれている場合、それは処理対象になります。
mayaa ファイルから HTML コメントを出力したい場合、m:comment
プロセッサを使います。
簡単な例
ごく簡単なサンプルで実際に使ってみましょう。サンプル中の id
は inComment
と commentOut
がありますが、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 の処理対象外になります。つまりこちらは一般的なコメントの扱いになります。