原文: http://zetcode.com/vaadin/link/

在 Vaadin Link教程中,我们学习 Vaadin Link组件的基础。 在 Vaadin 链接示例中,我们创建一个链接组件,该组件会将我们转移到外部网页。

Vaadin

Vaadin 是流行的 Java Web 开发框架。 它用于构建单页 Web 应用。

Vaadin Link

Link组件允许建立超链接。 这是浏览器本地处理的常规 HTML 超链接(<a href>)。 与单击Button时不同,单击Link不会在服务器端引起事件。 可以使用ExternalResource链接到任意 URL。

Vaadin Link示例

以下程序演示了 Vaadin Link组件的用法。 该链接包含文本和图像。

我们可以使用setTargetName("_blank")在新窗口中打开页面。

MyUI.java

  1. package com.zetcode;
  2. import javax.servlet.annotation.WebServlet;
  3. import com.vaadin.annotations.Theme;
  4. import com.vaadin.annotations.VaadinServletConfiguration;
  5. import com.vaadin.server.ExternalResource;
  6. import com.vaadin.server.FileResource;
  7. import com.vaadin.server.VaadinRequest;
  8. import com.vaadin.server.VaadinService;
  9. import com.vaadin.server.VaadinServlet;
  10. import com.vaadin.ui.HorizontalLayout;
  11. import com.vaadin.ui.Link;
  12. import com.vaadin.ui.UI;
  13. import java.io.File;
  14. @Theme("mytheme")
  15. public class MyUI extends UI {
  16. @Override
  17. protected void init(VaadinRequest vaadinRequest) {
  18. HorizontalLayout layout = new HorizontalLayout();
  19. Link link = new Link("Go to stackoverflow.com",
  20. new ExternalResource("https://stackoverflow.com/"));
  21. String basepath = VaadinService.getCurrent()
  22. .getBaseDirectory().getAbsolutePath();
  23. FileResource resource = new FileResource(new File(basepath
  24. + "/WEB-Iimg/web.png"));
  25. link.setIcon(resource);
  26. layout.setMargin(true);
  27. layout.addComponents(link);
  28. setContent(layout);
  29. }
  30. @WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
  31. @VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
  32. public static class MyUIServlet extends VaadinServlet {
  33. }
  34. }

该示例创建一个链接组件,该组件将重定向到外部网页。

  1. Link link = new Link("Go to stackoverflow.com",
  2. new ExternalResource("https://stackoverflow.com/"));

创建了Link组件; 该网页由ExternalResource指定。

  1. String basepath = VaadinService.getCurrent()
  2. .getBaseDirectory().getAbsolutePath();

使用getBaseDirectory(),我们检索应用上下文目录。 需要获取图标图像的路径。

  1. FileResource resource = new FileResource(new File(basepath
  2. + "/WEB-Iimg/web.png"));

该图像是FileResource,位于/WEB-Iimg/目录中。

Vaadin `Link`教程 - 图1

图:Vaadin Link

在本教程中,我们展示了 Vaadin Link组件的基础。 您可能也对相关教程感兴趣: Vaadin 网格教程Vaadin DateField教程Vaadin Button教程Vaadin 滑块教程Vaadin CheckBox教程Java 教程