[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 メーリングリストの案内