我需要下载一个CSV文件,但我不想使用bean(Java对象)。有可能吗?
<h:outputLink id="download" value="#{request.contextPath}/resources/file/download.csv">
<h:outputText value="download" />
</h:outputLink>
在Firefox中可以正常工作,但在Chrome和IE中只显示纯文本,我需要一个窗口下载对话框。
谢谢您的时间。
<mime-mapping>
<extension>csv</extension>
<mime-type>application/csv</mime-type>
</mime-mapping>
application/*
内容视为附件,或已经关联了默认应用程序,例如Excel,或会询问最终用户该怎么做。结果也超出服务器的控制范围。download
属性强制使用“另存为”对话框,该属性位于<a>
元素中,其中您可以重新指定唯一的文件名,如下所示:<a href="#{request.contextPath}/resources/file/download.csv"
download="download.csv">download</a>
<h:outputText>
。参见建议什么时候使用h:outputText?
或者,如果你已经使用支持透传属性的JSF 2.2,并且坚持使用不支持download
属性的<h:outputLink>
,那么你可以按照下面的步骤操作:<... xmlns:a="http://xmlns.jcp.org/jsf/passthrough">
...
<h:outputLink value="#{request.contextPath}/resources/file/download.csv"
a:download="download.csv">download</h:outputLink>