[mayaa-user:778] Re: ループのMAXの最大値について
suga
[E-MAIL ADDRESS DELETED]
2009年 5月 2日 (土) 14:05:16 JST
suga です。
2009/5/2 <[E-MAIL ADDRESS DELETED]>:
> <m:for>タグのMAX属性の規定値は「256」という事で記述はされているのでわかりました。
> そこで質問です。
>
> 1.MAX値の最大値は1万、2万件など指定しても大丈夫でしょうか?
> PCスペック(メモリなど)を使い切るまで可能でしょうか?
> それとも、Mayaa内で上限が設定されているのでしょうか?
Mayaa 側では特に制限はありません。
条件の指定を失敗して無限ループになることを防ぐためのものです。
http://mayaa.seasar.org/documentation/processor_reference.html#for
ちなみに Integer.MAX_VALUE が指定可能な上限です。
> 2.MAX値を指定し、その件数をオーバーした場合のエラーをCatchすることは可能でしょうか?
> Java側で「MAX値以下」の制御をしなければならないのでしょうか?
jstl の c:catch を使えば catch できます。例外クラスはリファレンスの
通り org.seasar.maya.impl.engine.processor.TooManyLoopException です。
が、max 以上になることがアプリケーション的に意味を持つなら、その役割を
持つところで制御するべきでしょう。
たとえば画面上の表示件数を制限することを m:for で実現するなら after の条件で
指定するか m:forEach を使う方が良いでしょうし、ページ切り替えを考えるなら
上限数未満のものを mayaa (または jsp など) に渡すべきでしょう。
私は、この max は保険だと考えていますので、これにひっかかるのは文字通り
「例外」な場合だと思います。
--
suga ( [E-MAIL ADDRESS DELETED] )
mayaa-user メーリングリストの案内