从MVCPortlet-serverResource创建一个附件



当用户单击超链接时,我需要导出一个.properties文件。我正在使用救生筏入口6.1.1。当用户单击超链接时,我正在对MyMVCPortlet类中的serveResource方法进行jquery.get()。这里的代码总是将内容写入响应(在fiddler上验证),但没有创建可下载的文件。

resourceResponse.reset();
resourceResponse.setContentType("text/plain");
resourceResponse.setProperty("content-disposition", "attachment; filename=test.txt");
OutputStream out = resourceResponse.getPortletOutputStream();
try {
     out.write("key=value".getBytes());
}
catch(IOException e){
     e.printStackTrace();
}           
finally {  
     out.close();//Also tried out.flush(); - dint help
}

写入完成后,我是否需要在resourceResponse上设置一些内容?

我尝试了不同的选择,结果筋疲力尽。在普通的javaservlet上也有同样的代码,但在liferay上却没有。我缺什么了吗?提前感谢!

尝试使用其中一个PortletResponseUtil.sendFile(),而不是对portletOutputStream进行手动操作。例如

PortletResponseUtil.sendFile(resourceRequest, resourceResponse, "test.txt", "key=value".getBytes())

相关内容

  • 没有找到相关文章

最新更新