简体   繁体   English

在新浏览器中的网格内打开 url window

[英]Open url inside a grid in a new browser window

I have a list of urls in a grid, And I need that when a user click in a url a new browser windows open with the same url我有一个网格中的 url 列表,当用户单击 url 时,我需要一个新的浏览器 windows 打开相同的 url

I read some threads but in my case I believe my situation is a little different.我读了一些帖子,但就我而言,我相信我的情况有点不同。 In my controller I'm using the following code在我的 controller 我使用以下代码

UrlListCollection.generateListUrl();

dataGrid.setRowRenderer(new RowRenderer() { 
    public void render(Row row, Object data) throws Exception {
        UrlObj url = (UrlObj) data;
            row.getChildren().add(new Label("Some data"));          
            row.getChildren().add(new Toolbarbutton(url.getUrlApp()));   //  url.getUrlApp() will be return a link like  http://www.google.com
        }
    });

In my view(zul) I have在我看来(zul)我有

<grid id="dataGrid" width="100%">
    <columns>
        <column label="Some Data" sort="auto(FIELD_NAME)" width="200px" />
        <column label="URL LINK" sort="auto(URL)" width="630px" />
    </columns>
</grid> 

But the common way to set an event an component in java can be:但是在 java 中设置组件事件的常用方法可以是:

Toolbarbutton button = new Toolbarbutton(url.getUrlApp()));
  button.addEventListener(Events.ON_CLICK, new EventListener() {
      public void onEvent(evt) {

          // what I put here to open a Link in another web browser window  ????
      // and I need to be able to open every object value retrieved by url.getUrlApp()   ???
      }
  });

I don't now what is necessary to make my code works..for me the way to apply a Event to toolbar button inside a grid that use RowRenderer method is strange.我现在不需要使我的代码正常工作..对我来说,将事件应用于使用 RowRenderer 方法的网格内的工具栏按钮的方式很奇怪。 I can't see a solution by myself.我自己看不到解决方案。

You can use the following example,您可以使用以下示例,

Executions.getCurrent().sendRedirect("http://www.google.com", "_blank");

Or you may use the A component with the setHref() method instead of the Toolbarbutton component.或者您可以使用带有setHref()方法的A组件而不是Toolbarbutton组件。

This works fine for me, thanks!这对我来说很好,谢谢!

  UrlObj url = (UrlObj) data;

  Toolbarbutton tb = new Toolbarbutton(url.getUrlApp());
  tb.setHref(url.getUrlApp());
  tb.setTarget("_blank");

  row.getChildren().add(new Label("Some data"));
  row.getChildren().add(tb);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM