鉴于ADF中结合CommonWork的框架时,使用的下载方式不同而结果不一样,需要统一代码:
/**
* 附件下载
* @param facesContext
* @param outputStream
* @throws SQLException
* @throws FileNotFoundException
* @throws IOException
*/
public void downLoadListener(FacesContext facesContext, OutputStream outputStream) throws SQLException,
FileNotFoundException,
IOException {
try {
XtglFjViewImpl vo = (XtglFjViewImpl) ADFUtils.findIterator("XtglFjView2Iterator").getViewObject();
Row row = vo.getCurrentRow();
if (row != null) {
String fjzj = (String) row.getAttribute("Fjzj"); //附件主键(fjzj 为附件主键)
fjmc = (String) row.getAttribute("Fjmc");
//AnnexOperationFile.downloadAnexx(outputStream, fjzj, AnnexOperationFile.TODATA, vo);
//fileUploadUtils.downloadFile(facesContext, outputStream, "JYGL_SYDQR");
AffixManage ao = new AffixManage(fjmc);
ao.downloadAnexx(outputStream, null, null, fjzj, AffixManage.TODATA);
}
} catch (Exception e) {
log.severe(e);
e.printStackTrace();
}
}
jsff页面:
<af:button text="下载" id="kjcgXz" icon="/images/functionicons/download.png"
disabled="#{bindings.XtglFjView2.estimatedRowCount==0}">
<af:fileDownloadActionListener method="#{GrSybBean.downLoadListener}"/>
</af:button>
--摘自就业管理,生源地管理