我正在使用带有GWT 2.4的Java 1.6。
我非常清楚我们可以使用以下代码在Java中获取当前的工作目录:
System.getProperty("user.dir");
但是GWT不允许我在客户端使用System类。
所以我的问题是:有没有办法在GWT中获取当前的工作目录路径?
答案 0 :(得分:0)
您可以编写一个新服务(在您的RemoteService/RemoteServiceImpl
中),该服务基本上会使用System.getProperty("user.dir");
获取当前工作目录吗?
它是一个解决方法,因为GWT(客户端)代码没有java.lang.System
类的javascript替换或者我猜他们没有previlidge来读取系统属性(因为它们在浏览器上运行)
答案 1 :(得分:0)
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)。