[mayaa-user:294] Re: Requestスコープに存在するかどうかの判定

suga ko.suga @ gmail.com
2006年 10月 6日 (金) 17:43:20 JST


suga です。

On 10/6/06, t-doi @ ohns.co.jp <t-doi @ ohns.co.jp> wrote:
> <m:ifを
> <m:if test="${request.getAttribute(&quot;customerForm&quot;) != null}" >
> とするとうまく動くようになりました。ありがとうございます。m(__)m
>
> ちなみにダメな場合のエラーは、
> ReferenceError: "customerForm" is not defined. in script=
> customerForm != null

おそらく

${request.customerForm != null}

でも動作するのではないでしょうか。(意味的には同じですから)

現状の制約では、変数が var で宣言されていない、
かつ page, request, session, application (および独自追加スコープ)
に見つからない場合は例外が出ます。

したがって「customerForm」は上記パターンで例外発生、
「request.customerForm」は「request」が存在するため例外には
ならず、その属性として customerForm があるかどうかという
判定になります。

request を付けずにアクセスしたい場合は m:beforeRender などで
var customerForm = request.customerForm;
のように var で宣言しなおせば実現できます。

-- 
suga ( ko.suga @ gmail.com )


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