JPA:在新的浏览器选项卡中执行 showDialog()?

JPA: perform showDialog() in a new browser tab?

正如上面的标题,我希望 showDialog() 的行为显示在新的浏览器选项卡上,但我不知道是否有为此编写的任何 Java 代码。

我的代码:

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:我知道我可以使用 link 进行重定向,但是使用这种方法,我无法获取 parent 的数据。我还在努力。

showDialog() 显示 JavaScript 对话框,而不是浏览器 windows。 showDialog() 不能用于在其他浏览器选项卡中显示内容,为此使用 IForwardAction。 IForwardAction 转到新浏览器 windows,但如果您使用 IForwardAction,则必须更改所有操作逻辑,因为您重定向到具有自己状态的其他模块。 OpenXava 文档解释了如何管理最后一个案例。