[Seasar-user:11150] Re: [Teeda] doメソッドが実行されないケースについて
木村 究道
[E-MAIL ADDRESS DELETED]
2007年 10月 19日 (金) 19:51:49 JST
木村です。
すいません。バージョンを付けるのを忘れていました。
s2-extension-2.4.17.jar
s2-framework-2.4.17.jar
teeda-ajax-1.0.11-SP1.jar
teeda-core-1.0.12-20071011.065807-1.jar
teeda-extension-1.0.12-20071011.065807-1.jar
teeda-tiger-1.0.12-20071011.070033-1.jar
です。
よろしくお願い致します。
木村 究道 さんは書きました:
> 度々失礼いたします。
> 木村と申します。
>
> 稀なケースかもしれませんので心苦しいのですが、質問させ
> てください。
>
> ひとつの画面で照会、編集をやろうとしています。
>
> 1. 照会画面表示
> ↓ ・編集ボタン
> 2. 編集画面表示
> ↓ ・値を入力して更新ボタン
> ↓ ・Pageクラスで入力チェック
> ↓ ・チェックOK
> 3. 編集画面を再表示してJavaScriptのonLoadイベントで、showModalDialogにて確認ダイアログを表示。
> ↓ ・閉じるボタンで確認ダイアログを閉じる
> ↓ ・JavaScriptにて更新ボタンを押下
> ↓ ・Pageクラスで更新処理
> 4. 照会画面を表示
>
> 上記のように動いてほしいですし、2回目以降は動くのです
> が、1回目だけ3.→4.のときにdoメソッドが実行されず、照
> 会画面に遷移しません。
>
> ブラウザを立ち上げて、1回目で現象がおきます。
> 2回目以降はうまくいきます。
> ブラウザを立ち上げなおすと、また1回目で現象がおきます。
> その後はまた、うまくいきます。
>
>
> どのような原因が考えられるでしょうか?
>
> よろしくお願い致します。
>
>
>
> TestPage.java
> -----------------------------------------------------
> public class TestPage {
>
> private Integer crudType = 1;
> private boolean showDialog = false;
> private String str;
>
> public String doEdit() {
> this.crudType = 2; // 編集に変更
> return null;
> }
>
> public String doBack() {
> this.crudType = 1; // 照会に変更
> return null;
> }
>
> public String doUpdate() {
> if (this.showDialog == false) {
>
> // ここで入力チェックなどを行う(DBの存在チェックなどの論理チェック)
>
> this.showDialog = true;
> return null; // 入力チェックOKなら確認ダイアログを出すために返す
> }
> this.showDialog = false;
> this.crudType = 1; // 照会に変更
> return null;
> }
>
> public boolean isRead() {
> if (this.crudType == 1) {
> return true;
> }
> return false;
> }
>
> // getter/setter省略
> }
>
> test.html
> -----------------------------------------------------
> <html>
> <head>
> <title></title>
> <script language="JavaScript">
> <!--
> // 確認ダイアログ表示
> function showDialog(){
> // フラグを確認
> if(document.getElementById("showDialog").value == "false"){
> return;
> }
> // 確認ダイアログ表示
> showModalDialog("dialog.html",window,"status:false;dialogWidth:320px;dialogHeight:240px");
> document.getElementById("doUpdate").click();
> }
> //-->
> </script>
> </head>
> <body onLoad="showDialog();">
> <form id="testForm" onLoad="showDialog();">
> <input type="hidden" id="crudType"/>
> <input type="hidden" id="showDialog"/>
> <div id="isRead-End" >
> 照会画面<br/>
> 文字 : <span id="str-span"/><input id="str-hidden" type="hidden"/><br/>
> <input id="doEdit" type="submit" value="編集"/>
> </div>
> <div id="isNotRead">
> 編集画面<br/>
> <input id="str-text" type="text"/><br/>
> <input id="doUpdate" type="submit" value="更新"/>
> </div>
> </form>
> </body>
> </html>
>
>
> dialog.html
> -----------------------------------------------------
> <html>
> <head>
> <title>確認ダイアログ</title>
> </head>
> <body>
> <form id="checkDialogForm">
> <center>
> <br/>
> <br/>
> <input type="button" id="end" value="閉じる" onClick="self.window.close();"/>
> <br/>
> <br/>
> </center>
> </form>
> </body>
> </html>
>
--
-----------------------------------------------------
十八ソフトウェア株式会社
システム開発部 アプリケーション開発課 木村 究道
〒850-0861 長崎市江戸町6-5江戸町センタービル6F
TEL:095-824-0018 FAX:095-827-8754
E-mail: [E-MAIL ADDRESS DELETED]
-----------------------------------------------------
Seasar-user メーリングリストの案内