[Seasar-user:8337] [teeda] 画面遷移時のデータ受け渡し方法について
松山 大樹
[E-MAIL ADDRESS DELETED]
2007年 6月 14日 (木) 20:26:24 JST
松山です。
[Seasar-user:8241] Re: <te:include>時のデータ受け渡し方法について
で、大谷さんが書かれた方法ですが、<te:include> 時ではなく、通常の
画面遷移時に、同じことはできないでしょうか?
たとえば、teeda-html-example の、AddInputPage.java に
//private Integer result;
private AddResultPage addResultPage;
のように遷移先ページのsetter を作成し、
public String doCalculate() {
//result = new Integer(arg1.intValue() + arg2.intValue());
addResultPage.setResult(new Integer(arg1.intValue() + arg2.intValue()));
のように、遷移先ページクラスに直接値を設定する、という感じです。
個人的には、これができると、遷移元のページに必要のないプロパティを
記述する必要がなくなるので、とても嬉しいです。
>大谷です。
>
>AaaPage、BbbPage共にSmartDeployで読まれていれば
>問題なくDIされると思います。
>
>軽く試してみました。
>
>hello.html
><te:include te:src="/add/add.html" />
>
>HelloPage
>public class HelloPage {
> private AddPage addPage;
>
> public String prerender() {
> System.out.println("prerender");
> addPage.setArg1(123);
> return null;
> }
>
> public AddPage getAddPage() {
> return addPage;
> }
>
> public void setAddPage(AddPage addPage) {
> this.addPage = addPage;
> }
>
>}
>
>とすると、hello.html内にadd.htmlが描画されて、
>arg1に123と表示されますね。
>
>
>07/06/12 に ぺにー<[E-MAIL ADDRESS DELETED]> さんは書きました:
>> ご教授ありがとうございます。
>> このような方法でDIできるのですね。
>>
>> しかし、また次に確認したいことができました。
>>
>> AaaPage のprerenderで、
>> getBbb().setXXX ("abc");
>> のように記述し、実行したところ、上記の記述箇所で
>> NullPointerException が発生しました。
>>
>> AaaPageのinitializeが実行された後に、
>> BbbPageのinitializeが実行されているようなので、
>> BbbPageのインスタンスがまだ生成されていないということでしょうか?
>>
>> ----------------------------------------------------------------------------------------
>>
>> -----Original Message-----
>> From: [E-MAIL ADDRESS DELETED]
>> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Shinpei Ohtani
>> Sent: Tuesday, June 12, 2007 12:47 PM
>> To: [E-MAIL ADDRESS DELETED]
>> Subject: [Seasar-user:8236] Re:<te:include>時のデータ受け渡し方法について
>>
>> 大谷です。
>>
>> 一番簡単な方法は、
>>
>> public class AaaPage {
>>
>> private BbbPage bbbPage;
>> (getter/setter省略)
>> }
>>
>> というようにBbbPageをAaaPageにDIしてやるのが
>> 一番簡単な方法です。
>> AaaPageのprerenderでBbbPageに直接データを渡してください。
>> 宜しくお願いします。
>>
>> 07/06/12 に ぺにー<[E-MAIL ADDRESS DELETED]> さんは書きました:
>> > htmlファイルinclude時の値の受け渡し方法について教えてください。
>> >
>> > aaa.html内で
>> > <te:include te:src="/xyz/bbb.html"/>などの記述を行い、
>> > bbb.htmlをインクルードしているものとします。
>> >
>> > aaaPage#prerender()で得たデータを
>> > bbbPage#prerender()で使用したいと考えています。
>> >
>> > aaaPage#prerender()で取得した値をaaa.htmlのhiddenなどにセットしても
>> > 当然のことながらbbbPage#prerender()で取得することはできません。
>> >
>> > aaaPage#prerender()の値をbbbPage#prerender()に受け渡す方法はないでしょうか?
>> > _______________________________________________
>> > Seasar-user mailing list
>> > [E-MAIL ADDRESS DELETED]
>> > https://ml.seasar.org/mailman/listinfo/seasar-user
>> >
>>
>>
>> --
>> =============================
>> Shinpei Ohtani
>> [E-MAIL ADDRESS DELETED]
>> =============================
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
>
>--
>=============================
>Shinpei Ohtani
>[E-MAIL ADDRESS DELETED]
>=============================
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user
--
::: 株式会社WOWOWコミュニケーションズ http://www.wowcom.co.jp/
::: ITシステムインテグレートサービスDept.
::: Webソリューション開発Unit.
::: 松山 大樹 - [E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内