2015-05-18 11 views
0

В проекте я использую файл для чтения данных, когда я запускаю исследование, например, моя страница jsp загружается, но файл еще не обновляется, и у меня есть старый результат. Мне нужно перезагрузить данные вручную в таблице. Я не знаю, как обновить файл до загрузки jsp.Обновить файл перед загрузкой jsp

// research 

    FileWriter fileJSON; 
    try { 
     fileJSON = new FileWriter("C:\\Users\\.....\\myFile"); 
     fileJSON.write(array.toString()); //array is a JSONArray containing the data 
     fileJSON.flush(); 
     fileJSON.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    request.setAttribute("search", search); 
    this.getServletContext().getRequestDispatcher(JSPFile.TEST) 
      .forward(request, response); 

Загружается файл jsp и 3s или 4s после обновления файла с данными. Я фактически загружаю данные в jsp с помощью JS после 5, но я не знаю, будет ли этого всегда достаточно.

Я хочу знать, можно ли загрузить jsp только после обновления файла?

+0

Кто обновление файла данных? –

+0

Позволяет сделать это простым, некоторые или некоторые процессы обновляют файл данных, и вы не знаете, когда обновление будет завершено, поэтому ваш файл jsp должен ждать, пока файл данных будет готов. я правильно понял?! –

+0

Через несколько дней, используя setTimeout с приближенным временем, я понимаю, что у меня бесполезный флеш() и без него работает – Masttest

ответ

0

Из того, что я понимаю, файл данных является большим и требует времени для загрузки. На данный момент файл данных занимает 3-4 секунды для загрузки (поэтому с помощью JS вы загружаете файл через 5 секунд), но вы обеспокоены тем, что в будущем это время загрузки данных может увеличиться.

Если выше правильно, вы можете продолжить опрос данных из файла с помощью JS/Ajax через некоторый интервал.

0

в вашем контроллере после того, как флеш в конце используется веб-сокет, чтобы отправить знак на страницу, чтобы обновить его. следующий учебник должен помочь вам в понимании веба-сокете более подробно http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/HomeWebsocket/WebsocketHome.html

+0

Читая ваш ответ, я понимаю, что использую flush(), я удалил эту строку, и она работает. Теперь, когда мой jsp загружен, файл уже обновлен. – Masttest

0

Через несколько дней с использованием SetTimeout с приближенным временем, я, наконец вижу, что у меня есть бесполезный флеш() и без него работает

Смежные вопросы