2017-05-09 7 views
0

上記のタイトルのとおり、showDialog()の動作を新しいブラウザタブに表示したいのですが、それに対してJavaコードが記述されているかどうかわかりません。JPA:新しいブラウザタブでshowDialog()を実行しますか?

マイコード:

public class ListSportImagesMethod2Action extends TabBaseAction { 

    private int row; 

    @Inject 
    private Tab tab; 

    public void execute() throws Exception { 

     Map sportKey = (Map) tab.getTableModel().getObjectAt(row); 
     //Map sportKey = (Map) getView().getSubview("sport").getValues(); 
     int sportId = ((Integer) sportKey.get("sportId")).intValue(); 
     sportKey.put("sportId", sportId); 
     showDialog(); //What should it replace with? 
     getView().setModelName("Sport"); 
     getView().setValues(sportKey); System.out.println("data============" + getView().getValues()); 
     getView().findObject(); 
     getView().setKeyEditable(false); 
     getView().setEditable(true); 
     setControllers("Sport"); 
    } 

    public int getRow() {             
     return row; 
    } 
    public void setRow(int row) {           
     this.row = row; 
    } 

    public Tab getTab() { 
     return tab; 
    } 
    public void setTab(Tab tab) { 
     this.tab = tab; 
    } 

    } 

PS:私は、私はリダイレクトするためにリンクを使用することができます知っているが、この方法で、私は親のデータを取得するために失敗します。まだ試しています。

答えて

0

showDialog()はブラウザウィンドウではなく、JavaScriptダイアログを表示します。 showDialog()は、IForwardActionを使用するために、他のブラウザのタブに何かを表示するために使用することはできません。 IForwardActionは新しいブラウザウィンドウに移動しますが、IForwardActionを使用する場合は、独自の状態を持つ他のモジュールにリダイレクトするため、アクションのすべてのロジックを変更する必要があります。 OpenXavaのドキュメントでは、この最後のケースを管理する方法について説明しています。

関連する問題