JSPプリントキャリッジ(CR)を作成する方法はありますか?
質問
現在JSPを使用していくつかのvCardsを生成しています。私は、それらのラインがキャリッジリターン( cr )で区切られていない限り、これらの生成されたvcardsを認識していないいくつかのプラットフォームを見つけました( cr )、そしてJSPは単なるラインフィード( lf )を使用するようですラインを区切るためのデフォルトです。
各行の間にCRを含めるようにJSPに伝えるための方法を知っていますか?
誰かが手がかりを持っていることを願っています、私はそこにたくさん見つけていなかったのを願っています...
事前にありがとう!
解決
If you need to emit non-HTML format, then you should be using a servlet instead of a JSP. This way you're not dependent on the JspServlet and/or appserver specifics how the output is been generated. More than often you simply cannot control this.
Using a servlet is relatively simple. Create a class which extends HttpServlet
and implement the doGet()
method like follows:
response.setContentType("text/x-vcard");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.write("BEGIN:VCARD" + (char) 10);
// ...
Map this in web.xml
on an url-pattern
of /vcard/*
or *.vcf
or whatever and use the request servletpath/pathinfo/params to generate output dynamically based on the URL.