[mayaa-user:1022] Re: forward後のpageスコープの変数参照について

suga [E-MAIL ADDRESS DELETED]
2014年 4月 13日 (日) 13:02:06 JST


suga です。

すみません、メールがspam判定されていて気づくのが遅くなりました。

> 本件を回避する方法があれば、教えていただけませんか。

現象確認しました。
これはMayaaのバグなので修正します。
まだ詳細確認していませんが、おそらくpageがforward前を指しているのだと
思います。


回避方法としては、以下の方法があります。

- Mayaaに渡す前にServlet側でforwardする
- pageではなくrequestスコープにセットする


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


2014-04-03 19:11 GMT+09:00 gmail <adgjmgtwyama @ gmail.com>:
> Mayaa開発 各位
>
> お世話になっております。
> 山崎と申します。
>
> forward後のpageスコープの変数参照について、確認したいことがあり、ご連絡しました。
>
> page['XXX']で指定した変数は暗黙的に${XXX}で参照できますが、
> Mayaaのforward()を利用した後ですと、
> forward後に宣言したpage['XXX']であっても、暗黙的に参照できなくなります。
> (page['XXX']で指定すると参照できる。ただし、_['XXX']は参照できない。)
> 実装例と表示を以下に記します。
>
> page[]は使わずvarを使うと問題なく参照できますが、キー名を変数から参照することをやろうと思うと、page[]を利用したくなります。本件を回避する方法があれば、教えていただけませんか。
>
> また、実装方法や認識が間違っておりましたらご指摘いただけると幸いです。
>
> 本件確認のバージョンは1.1.32となります。
>
> ※実装例
> ■/index.html
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <html>
>    <head></head>
>    <body>${forward('/forward/to.html')}</body>
> </html>
>
> ■/forward/to.html
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <html>
> <head>
> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
> <title>fowarded!</title>
> </head>
> <body>
>    <div id="message"></div>
>    <div id="messageFromPageScope"></div>
> </body>
> </html>
>
> ■/forward/to.mayaa
> <?xml version="1.0" encoding="UTF-8"?>
> <m:mayaa xmlns:m="http://mayaa.seasar.org">
>
>    <m:with m:id="message" replace="false" >
>        <m:exec script="${page['message'] = 'success'}" />
>        <!-- forwardすると参照できない -->
>        <m:write value="${message}" />
>    </m:with>
>
>    <m:with m:id="messageFromPageScope" replace="false" >
>        <m:exec script="${page['message'] = 'success'}" />
>        <!-- forwardしても参照できる -->
>        <m:write value="${page['message']}" />
>    </m:with>
>
> </m:mayaa>
>
> ※表示
> ■index.html
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <html>
> <head>
> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
> <title>fowarded!</title>
> </head>
> <body>
>    <div id="message"></div>
>    <div id="messageFromPageScope">success</div>
> </body>
> </html>
>
> ■/forward/to.html
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <html>
> <head>
> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
> <title>fowarded!</title>
> </head>
> <body>
>    <div id="message">success</div>
>    <div id="messageFromPageScope">success</div>
> </body>
> </html>
>
> _______________________________________________
> mayaa-user mailing list
> mayaa-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/mayaa-user


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