Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача информации на клиента в виде файла 
:(
    Опции темы
Nesmishlenish
Дата 24.9.2007, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 6.4.2006
Где: Беларусь, г.Минск

Репутация: -1
Всего: нет



 Здравствуйте, нарисовалась проблемка одна: Имею переменную типа StringBuffer с некоторой информацией, мне нужно передать ее клиенту в виде файла *.vcf, Как это можно сделать? smile 
    
  
PM MAIL ICQ   Вверх
Nesmishlenish
Дата 24.9.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 6.4.2006
Где: Беларусь, г.Минск

Репутация: -1
Всего: нет



StringBuffer sb = itvc.generateVCard(getTransferObject());
    
    FacesContext faces = FacesContext.getCurrentInstance();
    HttpServletResponse response = (HttpServletResponse) faces
        .getExternalContext().getResponse();
    response.setContentType( "application/plain" );
    response.setHeader("Content-Disposition","inline; filename=print.vcf");
    try {
        ServletOutputStream out = response.getOutputStream();
        out.print(sb.toString());
    } catch (IOException e) {
        e.printStackTrace();
    }
    faces.responseComplete();
Пытался сделать так, но не получаеться - выдает текст на странице(
PM MAIL ICQ   Вверх
Maksym
Дата 24.9.2007, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



Nesmishlenish
А если content type поставить application/octet-stream?
PM MAIL   Вверх
Nesmishlenish
Дата 25.9.2007, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 6.4.2006
Где: Беларусь, г.Минск

Репутация: -1
Всего: нет



Maksym, все равно не работает
PM MAIL ICQ   Вверх
Maksym
Дата 25.9.2007, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



Nesmishlenish
Единственная версия, которая приходит в голову: поскольку ты работаешь через jsf -- он перезатирает content type и ставит там снова html. Проверь в клиенте заголовок респонса (например, с помощью FireBug) -- какой  content type в результате приходит в браузер? Попробовал в обычном сервлете -- и для application/plain и для application/octet-stream все браузеры предлагают сохранить файл.
Прикрепляю работающий пример.

Это сообщение отредактировал(а) Maksym - 25.9.2007, 11:54

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  TestWeb.war 2,85 Kb
PM MAIL   Вверх
Nesmishlenish
Дата 28.9.2007, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 6.4.2006
Где: Беларусь, г.Минск

Репутация: -1
Всего: нет



 Спасибо за пример, он действительно у меня работает) Но в моем приложении все по преднему. Я проверил заголовок, туда приходит все как положено) но все равно не работает)

PM MAIL ICQ   Вверх
Nesmishlenish
Дата 28.9.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 6.4.2006
Где: Беларусь, г.Минск

Репутация: -1
Всего: нет



 Тут ребята выдвинули идею одну: JSF постит, а сервлет гетит, но так как я совсем не знаком со спецификой работы с doPost и doGet то для меня это пустые слова. Мот подскажите чего?
PM MAIL ICQ   Вверх
Nesmishlenish
Дата 3.10.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 6.4.2006
Где: Беларусь, г.Минск

Репутация: -1
Всего: нет



Все, проблема решилась) Я использовал аяксовую кнопочку на форме) замена ее на обыкновенный <h:commandButton/> дало свои результаты. Я честно говоря не понимаю почему. Результат был получен эксперементальным путем.
PM MAIL ICQ   Вверх
Maksym
Дата 3.10.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



Цитата(Nesmishlenish @  3.10.2007,  14:50 Найти цитируемый пост)
Я использовал аяксовую кнопочку на форме) 

Мда...

Ну хорошо что разрешилось  smile   Заходи, если что  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0728 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.