[mayaa-user:112] forEach に渡す値による動作の違い

NANBA Toshiaki nanba @ crest-cs.co.jp
2006年 1月 26日 (木) 20:12:09 JST


南波と申します。forEachプロセッサの使い方についてお聞きしたいこと
があります。

forEachプロセッサに渡すitemsの要素としてIntegerやStringを使った場
合は期待通りの結果が得られました。

 Javaソース
	List values = new ArrayList();
	values.add(new Integer(1));
	values.add("abcde");
//	values.add(new java.util.Date());
	request.setAttribute("values", values);

 mayaaファイル
	<m:forEach id="xxx" var="value" items="${request.values}">
		<m:write value="${value}" />
	</m:forEach>

 出力
	1abcde

しかしながら、itemsの要素によっては例外の発生するモノがありました。
上の例だとコメントを外してDateを要素に与えた場合や、自作クラスのイ
ンスタンスを要素に含んでいた場合に発生しました。

 例外(一部)
No Context associated with current Thread
processed node
original = /java.lang.Throwable.html: 12
injected = /java.lang.Throwable.html: 14

stackTrace:
org.mozilla.javascript.Context.getContext(2147)
org.mozilla.javascript.Context.javaToJS(1622)
org.seasar.mayaa.impl.cycle.script.rhino.ScriptEnvironmentImpl.startScope(126)
org.seasar.mayaa.impl.engine.processor.ForEachProcessor.next(79)
org.seasar.mayaa.impl.engine.processor.ForEachProcessor.doStartProcess(96)
org.seasar.mayaa.impl.engine.RenderUtil.renderTemplateProcessor(127)
 :
 :

恐らく使い方が間違っているとかだと思いますが、どのようにしてforEach
へ値を渡せばよろしいのでしょうか。


環境:
- Mayaa 1.0.0
- j2sdk1.4.2_09
- Tomcat 4.1.31
- Eclipse 3.1.0 + WTP

-- 
南波 利明 <nanba @ crest-cs.co.jp>


mayaa-user メーリングリストの案内