如何在GWT Java中获取当前工作目录

时间:2013-04-15 07:46:10

标签: java gwt working-directory

我正在使用带有GWT 2.4的Java 1.6。

我非常清楚我们可以使用以下代码在Java中获取当前的工作目录:

System.getProperty("user.dir");

但是GWT不允许我在客户端使用System类。

所以我的问题是:有没有办法在GWT中获取当前的工作目录路径?

4 个答案:

答案 0 :(得分:0)

您可以编写一个新服务(在您的RemoteService/RemoteServiceImpl中),该服务基本上会使用System.getProperty("user.dir");获取当前工作目录吗?

它是一个解决方法,因为GWT(客户端)代码没有java.lang.System类的javascript替换或者我猜他们没有previlidge来读取系统属性(因为它们在浏览器上运行)

答案 1 :(得分:0)

  1. 您需要使用RPC来电或RequestBuilder来电。
  2. 将图像名称的参数传递给服务器
  3. 在服务器端的服务类中计算系统路径并返回路径信息。
  4. GWT编译为javascript并在浏览器中通过http与服务器通信执行,因此无法执行像System.getProperty("user.dir");这样的服务器端Java代码。

    任何此类要求都应通过Asynchronous调用服务器来实现。

    注意:向用户显示文件系统路径仍然没有意义,除非您使用Web GUI编写系统资源管理器(可能会引发一些与安全相关的查询!!!)

答案 2 :(得分:0)

Current Directory in GWT.

客户端的所有java脚本,所以不管current directory

System.getProperty("user.dir");

出于安全考虑,javascript无法访问系统驱动器以避免 syber攻击

http://en.wikipedia.org/wiki/JavaScript#Security

请参阅Opening a file in local file system in javascript

为了获取您需要拨打服务器的文件。

答案 3 :(得分:0)

System.getProperty(" user.dir")在GWT 2.6.1中工作得很好,无论是在本地运行还是部署到Google App Engine(它返回的地方,例如/ base / data / home) /apps/s~rhezivt28/1.379778380561169345)。