Home > しらべる > mayaaのbeforeRenderでパラメータを扱う

mayaaのbeforeRenderでパラメータを扱う

  • Posted by: memorycraft
  • 2008年12月20日 11:25
  • しらべる

mayaaでタグ処理の前にリクエストパラメータの下ごしらえをしておきたいときがあります。そのときに注意しておきたい点を1つメモ。

たとえば、http://example.com/sample?hoge=mogeというリクエストをmayaaで処理する場合、プロセッサでは、 ${hoge} でパラメータを参照できます。

//mayaaファイル
<m:write value="${hoge}"/>

//出力
moge

このhogeをbeforeRenderのスクリプトで処理する場合、${hoge}はJavaScriptのstringオブジェクトとしてあつかわれます。

//mayaaファイル
<m:beforeRender><![CDATA[
	function getA(){
		return hoge.length;
	}
]]>
</m:beforeRender>
<m:write value="${getA()}" />

//出力(lengthはプロパティだから文字数が帰る)
4

このhogeをJavaのStringオブジェクトとして扱いたい場合は、明示的に初期化してあげる必要がある


//mayaaファイル
<m:beforeRender><![CDATA[
	function getB(){
		var h = new java.lang.String(hoge);
		return h.length;
	}
]]>
</m:beforeRender>
<m:write value="${getB()}" />

//出力(lengthはメソッドだから関数が帰る)
function length() {/*
int length()
*/}

たとえば、hoge.startsWith('ho');とかは明示的に初期化しないと使用できず、パースエラーになります。

Trackbacks:0

TrackBack URL for this entry
http://www.memorycraft.jp/mt-tb.cgi/93
Listed below are links to weblogs that reference
mayaaのbeforeRenderでパラメータを扱う from メモリークラフト

Comments:0

Comment Form

Home > しらべる > mayaaのbeforeRenderでパラメータを扱う

ページの先頭へ戻る