2015-11-11 3 views
0

При создании веб-приложения с netbeans в какой-то момент я извлекаю формат arrayList в json.Получить путь к папке моего проекта

public void convertToJSON(ArrayList list){ 

    ObjectMapper mapper = new ObjectMapper(); 

    try{ 
      mapper.writeValue(new File("C:\\temp\\data.json"), list); 
     }catch(JsonGenerationException e){ 
      e.printStackTrace(); 
     }catch(JsonMappingException e){ 
      e.printStackTrace(); 
     }catch (IOException e){ 
      e.printStackTrace(); 
     } 
} 

и создается файл C:\temp\data.json. Как создать этот файл внутри папки проекта, где существуют JSPS? Я попытался определить местоположение с

String dir = System.getProperty("user.dir"); 

, но это создает файл в C:\Program Files\Apache Software Foundation\Apache Tomcat 8.0.15\bin. Я хочу создать файл внутри папки проектов, чтобы использовать его для отображения моих данных в bootstrap table. Там я определить местоположение моих данных по

data-url="data.json" 

Я попытался это data-url="C:\temp\data.json" но я получил ошибку

XMLHttpRequest cannot load file:///C://temp//data.json?order=desc&limit=10&offset=0. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. 
+0

Ваша папка с проектом существует в вашем окне разработки. При развертывании приложения его там не будет. Вам нужен временный каталог или каталог, который можно использовать для развернутого webapp. Вы задаете неправильный вопрос. – EJP

ответ

1

Это проблема с перекрестными доменами, загрузочная таблица не поддерживает адрес file://, пожалуйста, используйте веб-сервер для запуска кода. Вот вам может быть проблема: https://github.com/wenzhixin/bootstrap-table/issues/230

0

Чтобы получить файл в папку проекта вы можете использовать

URL resourceUrl = this.getClass().getResource(""); 
    File file = new File(resourceUrl.toURI().toString() + "data.json");