有没有办法让JSP打印回车(CR)?

时间:2011-03-30 15:19:16

标签: java jsp newline vcard

我目前正在使用JSP生成一些vCard。我发现有些平台无法识别这些生成的vCard,除非它们的行由回车符( CR )分隔,并且JSP似乎只使用换行符( LF )默认为单独的行。

你们有没有办法告诉JSP在每一行之间包含一个CR?

我希望有人有线索,因为我没有找到太多...

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您需要发出非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);
// ...

web.xml映射到url-pattern /vcard/**.vcf或其他任何内容,并使用请求servletpath / pathinfo / params根据URL动态生成输出。