2017-04-21 14 views
0

私は、エントリのリストを持つxp:repeatコントロールを持っています。各エントリのために私は、データベースからバックエンド文書を削除するには、ボタンを定義している:機能は、繰り返し制御からドキュメントを削除し続ける

<xp:button value="Delete" id="button2"> 
    <i class="fa fa-trash">&#160;</i> 
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> 
     <xp:this.action> 
      <![CDATA[#{javascript:employeeBean.remove(obj.unid)}]]> 
     </xp:this.action> 
    </xp:eventHandler> 
</xp:button> 

私は奇妙な行動に気づくが、これは正常に動作します:私は(ブラウザでF5)ページを更新するとき、私はメッセージを取得します: フォームの再提出を確認。他のエントリがリストから削除されたことを確認するを選択した場合。

このプロセスは、F5キーを押してページを更新する限り続きます。どうすればこれをやめることができますか?

removeメソッドはロケット科学ではない。

public void remove(String id) { 
    try { 
     Document doc; 
     openDatabaseAndView(); 
     if (id != null) { 
      doc = view.getDocumentByKey(id, true); 
     } else { 
      doc = null; 
     } 
     if (doc != null) { 
      doc.remove(true); 
     } else { 
       //message to user 
     } 
     closeDatabaseAndView(); 
    } catch (NotesException e) { 
     e.printStackTrace(); 
    } 
} 

答えて

0

私はパネル内リピートコントロールを配置し、[削除]ボタンからこのパネルのパーシャルリフレッシュを設定...フォームと

0

F5実際にresubmitionは、もう一度ボタンのクリックを実行し、最後の要求を(削除)を繰り返す、そして再び...

は、「POST/GET」のパターンを見てみましょう:https://stackoverflow.com/a/18821569/206265

関連する問題