수정하고 싶습니다를 클릭하면 백그라운드에서 엑셀 파일이 생성되어야 하며, 파일 다운로드 기능이 제공되어야 합니다.
엑셀 파일 생성도 쉽고, "파일 다운로드" 팝업도 쉽습니다.
버튼을 클릭하면 액션으로 이동하고, 액션에서 엑셀 파일을 생성하고, 데이터를 입력하고, 저장합니다. 임시 폴더에 저장한 후 버튼을 클릭합니다. Click 이벤트에서 템플릿을 기반으로 Excel 보고서를 생성하고 데이터를 입력한 후 임시 폴더에 저장한 다음 출력.wirte()를 수행합니다. 모든 일이 잘 진행되고 있는 것 같습니다.
동작은 다음과 같습니다("파일 다운로드" 창이 나타납니다):
//저장 창을 팝업하는 데 사용되며 첨부 파일로 설정
response.setHeader("Content-Disposition","attachment;filename=" newString(fileName.getBytes(),"ISO-8859-1" )) ;
InputStreaminput=newFileInputStream(downloadFile);
OutputStreamoutput=response.getOutputStream();
intc;
//스트림을 읽고 파일에 씁니다
while((c =input .read())!=-1){
output.write(c);
}
output.flush();
output.close();
입력. 닫기( );
}catch(예외){
}
}
그런데 테스트해 보니 '수정하고 싶습니다' 버튼을 눌렀을 때 항상 새 창이 뜹니다. Baidu는
다음과 같습니다.
base: 페이지의 모든 링크에 대한 기본 주소 또는 기본 대상을 지정합니다.
target: 이동할 대상 페이지
이 문제는 해결되었으나, 파일을 다운로드할 수 없다는 새로운 문제가 발생합니다. 그렇다면 이 페이지에서 열어 동시에 다운로드를 제공할 수 있는 방법이 있습니까? iframe 프레임워크가 떠올랐습니다. 보이지 않는 iframe을 설정하면 target=iframName이 문제를 해결할 수 있습니다.