你可以有一個接口,爲用戶移入和移出目錄
這樣做的servlet或Spring的MVC控制器部分是很簡單(不包括例外和這樣)。
@RequestMapping(value = "/network/*")
@ResponseBody // serialize to json since you are using javascript
public List<String> getDirectory(@RequestParam("direction") String direction, HttpServletRequest request) {
List<String> paths = new LinkedList<String>();
String path = request.getRequestURI();
path = path.substring(path.indexOf("/network") + 8); // gets everything after /network
if ("up".equals(direction)) { // want to go up one folder
File parent = new File(path).getParentFile(); // get the parent, this might return null so have to check
paths.addAll(Arrays.asList(parent.list()));
} else if ("into".equals(direction)) {
File directory = new File(path); // get all the files in the current directory
paths.addAll(Arrays.asList(directory.list()));
}
return paths;
}
你會那麼做AJAX請求
http://www.your-intranet.com/network/var/this/path/wanted?direction=into
檢索它裏面的所有文件和文件夾的JSON列表。或
http://www.your-intranet.com/network/var/this/path/wanted?direction=up
相當於
http://www.your-intranet.com/network/var/this/path?direction=into
這取決於你想做的路徑提取邏輯(可能在服務器上,因爲它知道,如果它正確與否)。
這個UI的一部分有點難度,我不會進入它,但是你將不得不解析json,並決定是否要顯示文件夾圖標或某個帶有不同按鈕的文件圖標用於不同的操作。
根據Linux或Windows操作系統的不同,您還需要使用路徑。
你希望他們能夠查看服務器的目錄結構嗎? – 2013-05-02 20:03:46
@SotiriosDelimanolis:他們的想法是,他們將選擇一個網絡目錄,對服務器可見,其中包含一組要處理的文件,以請求處理。 – woemler 2013-05-02 20:05:54
你是服務器。選擇一個根文件,例如。 '/ var/path /',然後獲取所有子文件夾/文件。然後執行'File#listFiles()'並填充一個html元素'