我目前正在使用JSP生成一些vCard。我发现有些平台无法识别这些生成的vCard,除非它们的行由回车符( CR )分隔,并且JSP似乎只使用换行符( LF )默认为单独的行。
你们有没有办法告诉JSP在每一行之间包含一个CR?
我希望有人有线索,因为我没有找到太多...
提前致谢!
答案 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动态生成输出。