[Seasar-user:9387] Re: [Teeda]Teeda Ver1.0.8

r.m [E-MAIL ADDRESS DELETED]
2007年 7月 24日 (火) 11:13:57 JST


すみません。1点補足します。

>そのため,test.html のフォームがサブミットされた
> 際に dispOrderNum は元に戻らず,初期値の false に
> なります.
>
> dispOrderNum が false だと Condition の条件が
> 成立しないため,その中の <input> 要素である
> orderNum にリクエストパラメータの値が設定されず,
> null のままというのが今回の起きていることでは
> ないかと思います.

この部分ですが、submitされた際、dispOrderNum がTrueになっていることを確認しています。
実際には、ValidationをPage内で実装していて、
if(dispOrderNum && orderNum == null) の条件の時にエラーにしていて、実際エラーに
なってしまいます。
その為、若干ひっかかります。
デバッグしながら変数の状態をみましたが、確かにTrueになっていました。


> 小林様
> 水澤です。
>
> iframeの利用なのですが、実際にはPageクラスを利用しています。
> このPageクラスが若干厄介で、画像のアップロードを行うのに利用しています。
> それにつけくわえ、CSS・Scriptのレイヤーを用いたサブウィンドウでこれを実現しているため
> Includeで試したのですが、うまくいきませんでした。
>
> うまくいかないと言うのは、画像をアップロードして、その直後その画像を画面に表示して
> おります。このとき、OutputStreamを利用しているので、contenttypeにimage/jpegを指定
> するのですが、includeだと、レイヤー全体がこのContenttypeになってしまうため
> Textが表示されなくなります。
> その為、iframeを利用していました。
>
> 今、includeで色々試していますが、かなり困難な状況です。
> iframeを使い、スコープを維持する方法を考えたほうがいいかも知れません。
> ただ、>XHTML1.1 では廃止された要素ですし. とういのが若干ひっかかりますが・・・。
>
> あと、1.0.7では、全く同じ状態で、正常に動作しておりました。
> まぁこちらが正常ではなかったのかも知れませんが。。。
>
> 問題は、画像のアップロード部分・表示部分かなと思いますので
> そこをもうちょっと突き詰めてみたいと思います。
> また、その辺り分かることがあれば、ご教授頂ければと思います。
>
> 宜しくお願いいたします。
>
>
> > 小林 (koichik) です.
> >
> > Date:    Mon, 23 Jul 2007 20:09:43 +0900
> > From:    r.m <[E-MAIL ADDRESS DELETED]>
> > To:       [E-MAIL ADDRESS DELETED]
> > Subject: [Seasar-user:9367] Re: [Teeda]Teeda Ver1.0.8
> >
> > > どうしても、iframeだとうまくいかないため、サンプルソースを添付します。
> >
> > 状況が分かりました.
> > サンプルの test.html から <iframe> を削除して,
> > ブラウザで表示した後にブラウザで test2.html を
> > 直接アドレス指定して表示,test.html に戻って
> > サブミットしても同じ現象になります.
> >
> > つまり,<iframe> に限らず,表示とサブミットの間に
> > 余計なリクエストが Teeda に渡るのがまずいようです.
> >
> > サンプルの test2.html は対応する Page クラスが
> > ありませんが,もし実際のシステムでもそうなのであれば
> > test2.html の拡張子を変更して test2.htm とすれば
> > 正しく動作します.
> > <iframe> の中に表示するのが画像みたいなものなら
> > これが一番簡単な対応ですね.
> >
> >
> > Teeda は Page クラスのプロパティを引き継ぐために
> > 様々なスコープの情報をセッションに保持しています.
> > このサンプルの場合,Condition の条件である
> > dispOrderNum が Page スコープとしてセッションに
> > 保持されます.
> > <iframe> が存在しなければ,test.html のフォームが
> > サブミットされた際にセッションから dispOrderNum が
> > 戻されます.
> >
> > しかし,<iframe> があると test2.html がリクエスト
> > されるため,Page スコープから TestPage の情報が
> > なくなってしまいます (Test2Page が存在しないので
> > Page スコープは空になります).
> > そのため,test.html のフォームがサブミットされた
> > 際に dispOrderNum は元に戻らず,初期値の false に
> > なります.
> >
> > dispOrderNum が false だと Condition の条件が
> > 成立しないため,その中の <input> 要素である
> > orderNum にリクエストパラメータの値が設定されず,
> > null のままというのが今回の起きていることでは
> > ないかと思います.
> > # 一応 Teeda コミッタの一員なのですが全然
> > # 詳しくないので不正確かも.
> >
> > Teeda で対応できることとして,Page クラスに
> > 関連づけられていない HTML がリクエストされた
> > 際には,Page スコープを元のまま維持するように
> > することができれば今回の件は解決できるような
> > 気がします.
> >
> > しかし,可能であれば <iframe> を使わないように
> > 変更していただくのがよいかと思います.
> > # XHTML1.1 では廃止された要素ですし.
> >
> > --
> > <signature>
> >    <name>Koichi Kobayashi</name>
> >    <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
> > </signature>
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
>



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