Есть ли способ сделать возврат каретки печати JSP (CR)? - PullRequest
1 голос
/ 30 марта 2011

В настоящее время я генерирую некоторые vCards, используя JSP.Я обнаружил, что некоторые платформы не распознают эти сгенерированные vCards, если их строки не разделены возвратом каретки ( CR ), а JSP, по-видимому, использует просто перевод строки ( LF ) по умолчанию дляотдельные строки.

Ребята, знаете ли вы какой-нибудь способ сказать JSP включить CR между каждой строкой?

Надеюсь, у кого-то есть подсказка, потому что я не нашел там много...

Заранее спасибо!

1 Ответ

1 голос
/ 30 марта 2011

Если вам нужно использовать формат, отличный от HTML, вам следует использовать сервлет вместо JSP.Таким образом, вы не зависите от спецификаций JspServlet и / или appserver, как генерируется вывод.В большинстве случаев вы просто не можете это контролировать.

Использование сервлета относительно просто.Создайте класс, который extends HttpServlet, и реализуйте метод doGet() следующим образом:

response.setContentType("text/x-vcard");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.write("BEGIN:VCARD" + (char) 10);
// ...

Сопоставьте это с web.xml на url-pattern из /vcard/* или *.vcf или любым другим и используйтезапрос к сервлету / pathinfo / params для динамического генерирования вывода на основе URL.

...