![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Nesmishlenish |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 6.4.2006 Где: Беларусь, г.Минск Репутация: -1 Всего: нет |
Здравствуйте, нарисовалась проблемка одна: Имею переменную типа StringBuffer с некоторой информацией, мне нужно передать ее клиенту в виде файла *.vcf, Как это можно сделать?
![]() |
|||
|
||||
Nesmishlenish |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 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(); Пытался сделать так, но не получаеться - выдает текст на странице( |
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
Nesmishlenish
А если content type поставить application/octet-stream? |
|||
|
||||
Nesmishlenish |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 6.4.2006 Где: Беларусь, г.Минск Репутация: -1 Всего: нет |
Maksym, все равно не работает
|
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 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 ) ![]() |
|||
|
||||
Nesmishlenish |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 6.4.2006 Где: Беларусь, г.Минск Репутация: -1 Всего: нет |
Спасибо за пример, он действительно у меня работает) Но в моем приложении все по преднему. Я проверил заголовок, туда приходит все как положено) но все равно не работает)
|
|||
|
||||
Nesmishlenish |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 6.4.2006 Где: Беларусь, г.Минск Репутация: -1 Всего: нет |
Тут ребята выдвинули идею одну: JSF постит, а сервлет гетит, но так как я совсем не знаком со спецификой работы с doPost и doGet то для меня это пустые слова. Мот подскажите чего?
|
|||
|
||||
Nesmishlenish |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 6.4.2006 Где: Беларусь, г.Минск Репутация: -1 Всего: нет |
Все, проблема решилась) Я использовал аяксовую кнопочку на форме) замена ее на обыкновенный <h:commandButton/> дало свои результаты. Я честно говоря не понимаю почему. Результат был получен эксперементальным путем.
|
|||
|
||||
Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 24 Всего: 62 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |