- PR -

window.open( )とwindow.close( )について

投稿者投稿内容
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-06-05 16:18
お世話になります。

window.open( )でJSFの画面を表示したいのですが、下記の問題が発生してしまいます。
操作手順は次です。

   window.open( )でJSFの画面を表示します。JSF画面にはoutputText、
   inputText、button1とbutton2があります。outputTextにはJavabeanとBinding
   します。今回の画面表示で、inputTextに入力されたデータを次回、outputTextに
   反映したいです。button1を押せばデータをSubmitします。button2を押せば
   window.close( )で画面をクローズします。 
   問題なのは、最初の画面表示ではoutputTextには正しいデータが入っていますが、
   それ以降の表示では、outputTextにはデータの変更がありません。最初に表示する
   データのままです。現象としては、画面とJavabeanのやり取りはしないようです。
   window.close( )の問題であるかなと思いますが、window.destroy( )のような
   機能があればいいですが。
   ご存知の方は、ご教授ください。

Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-06-05 17:17
自己返信です。
この問題は、どうやってwindow.open()で開く画面のRefreshができるかとの
問題だと思います。

ご存知の方は、ご教授ください。
宜しくお願いいたします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-06-05 17:23
JSFは詳しくないですが、ブラウザのキャッシュを無効にする、HTTPヘッダを出力すればいいのではないでしょうか。
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-06-05 17:55
ご回答有難うございます。
下記のステートメントを入れて見た所、多くの場合はデータを
正しく表示してくれますが、たまには前回のデータを表示してしまいます。
どういうことでしょうか>

<meta http-equiv="pragma" content="no-cache"

ご教授ください。
_________________
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-06-06 10:17
お世話になります。

こちらの確認で下記の三つのステートメントを入れても
キャッシュする場合もあります。
<meta http-equiv="pragma" content="no-cache"
<meta http-equiv="Cache-Control" content="no-cache"
<meta http-equiv="Expires" content="0"
どうやって完全にキャッシュしないか教えていただけませんか?
宜しくお願いします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-06-06 10:28
引用:

こちらの確認で下記の三つのステートメントを入れても
キャッシュする場合もあります。



とは、ブラウザによってと意味でしょうか?
それとも、同じ環境においてキャッシュしたり、しなかったりするって意味でしょうか?
あと、ブラウザ、OSのバージョンなど環境も書きましょう。
Mxfull
大ベテラン
会議室デビュー日: 2006/02/15
投稿数: 146
投稿日時: 2006-06-06 10:49

同じブラウザで、同じ環境でキャッシュしたり、しなかったりするのです。

確認用のブラウザはIE6.0で、OSはWindows2000です。

宜しくお願いいたします。
_________________
ひろ@ya
大ベテラン
会議室デビュー日: 2006/02/23
投稿数: 168
投稿日時: 2006-06-06 13:11
getではなく POSTを使うようにして、その上で

<%
response.setHeader("Pragma","no-cache"); // HTTP1.0
response.setHeader("Cache-Control","no-cache"); //HTTP1.1
response.addHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0); // for Proxy Server
%>
をやっても駄目ですか?

# metaがちゃんと閉じていない気がしますが typoですか?

スキルアップ/キャリアアップ(JOB@IT)