1

这是我需要做的一小部分:

if (Desktop.isDesktopSupported())
{
    final Desktop desktop = Desktop.getDesktop();
    try{
    desktop.open(new File(path));
    }
    catch (final IOException e)
    {
     MessageBox.alert("Log View", "Error finding file", null);
    }
}

我需要在登录的用户默认桌面应用程序中为该文件类型打开一个文件。Maven 在构建时给我问题,说它找不到 java.io.File 和 java.awt.Desktop。

有一个两部分的问题,首先,GWT 是否具有与 java.awt.Desktop 类似的功能以及如何修复项目以便 maven 找到 io 和 awt 文件?

4

3 回答 3

4

JButton为了获得与在 HTML 中调用相同的效果Desktop,您将提供一个链接到文件下载的 HTML 按钮,并确保它具有服务器提供的正确内容类型。

于 2012-04-13T14:20:00.773 回答
2

具体到问题的 GWT 部分。

是的,你可以这样做。您可能会使用 Grid、FlexTable、HTMLTable 或仅使用 HTML 来显示事件。您可以将该小部件嵌入到面板中,并在根面板上显示该面板。

诀窍是将文件数据从服务器获取到客户端。您可以使用 GWT RPC 或某种 REST 服务器来执行此操作。如果您查看启动 GWT 应用程序时生成的默认应用程序,它将基于字符串发回字符串数据。您可以将其用作模式来降低模型对象。默认应用程序使用 GWT-RPC,并且很容易理解。

我之所以对小部件的类型含糊其辞,是因为它取决于您希望如何将这些数据呈现给您的用户。您可以使用 HTML 来渲染 HTML,但我认为您会希望使用更好的小部件来真正渲染这些数据。

于 2012-04-13T17:43:29.443 回答
0

不,你不能用 GWT 做到这一点。

浏览器通常无法访问文件系统。您可以做的最好的事情是让用户安装一些插件,让您可以访问文件(需要进行权限检查)或让他们将文件上传到您的服务器(您的 Web 应用程序可以从那里下载文件以检查它)。

于 2012-04-13T14:15:39.903 回答