【发布时间】:2011-03-30 15:19:16
【问题描述】:
我目前正在使用 JSP 生成一些 vCard。我发现一些平台无法识别这些生成的 vCard,除非它们的行由回车符 (CR) 分隔,而 JSP 似乎只使用换行符 (LF)默认为单独的行。
你们知道有什么方法可以告诉 JSP 在每行之间包含一个 CR 吗?
我希望有人能提供线索,因为我还没有发现太多...
提前致谢!
【问题讨论】:
标签: java jsp newline vcf-vcard
我目前正在使用 JSP 生成一些 vCard。我发现一些平台无法识别这些生成的 vCard,除非它们的行由回车符 (CR) 分隔,而 JSP 似乎只使用换行符 (LF)默认为单独的行。
你们知道有什么方法可以告诉 JSP 在每行之间包含一个 CR 吗?
我希望有人能提供线索,因为我还没有发现太多...
提前致谢!
【问题讨论】:
标签: java jsp newline vcf-vcard
如果您需要发出非 HTML 格式,那么您应该使用 servlet 而不是 JSP。这样,您就不会依赖于 JspServlet 和/或 appserver 详细说明如何生成输出。很多时候你根本无法控制它。
使用 servlet 相对简单。创建一个extends HttpServlet 的类并实现doGet() 方法,如下所示:
response.setContentType("text/x-vcard");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.write("BEGIN:VCARD" + (char) 10);
// ...
在 url-pattern 或 /vcard/* 或 *.vcf 或其他任何地方映射 web.xml 并使用请求 servletpath/pathinfo/params 根据 URL 动态生成输出。
【讨论】: