mayaaのinclude
今日はmayaaの検証。。。includeでちょっと躓いたのでメモ。
includeを使って外部HTMLを取り込む際、(個人的なイメージとして)「取り込まれるHTML」を包み込む要素が必要みたい。
コンポーネントで動的な表示を扱ってみましょう。スクリプトを使う方法などは通常のテンプレートと同じですので、特別なのは親 (利用する側) のページとの値の受け渡しです。基本的な考え方としては、コンポーネントを利用するm:insert
タグの位置に、コンポーネントの内容を直接書いた場合と同じです。
たとえば、次のようなmayaaファイル
<?xml version="1.0" encoding="UTF-8"?> <m:mayaa xmlns:m="http://mayaa.seasar.org"> <m:doRender m:id="message2" /> <m:write m:id="message" value="Hello Mayaa! ${ 2 + 3 }" replace="false" /> </m:mayaa>
があったとする。で、includeされる側のHTMLで
<span id="message">include2</span>
の部分を表示したい場合、それを包み込む要素が必要となる。つまり、用意するHTMLは
<html> <body> <div id="message2"> <span id="message">include2</span> </div> </body> </html>
とか、
<html> <body id="message2"> <span id="message">include2</span> </body> </html>
のように外側に要素を追加して、その要素にid属性を振ってやる必要がある。これで、
<span id="message">Hello Mayaa! 5</span>
のように表示される、と。とりあえず、表示したい内容をbody要素の内側に書き、body要素にid属性を追加するのが一番簡単かな?
恥ずかしながら、2時間ほど悩んでました。。。 :-(