Struts2 스트림 형식을 통해 Excel 다운로드 파일 생성
2970 단어 struts2excel 다운로드
@Result의 params 매개 변수 설정 부분에 주목한 코드
public class EfficDataAction extends ActionSupport {
//...
private InputStream inputStream;
private String contentDisposition;
private String documentFormat = "xls";
private String contentType;
public String getContentType() {
return documentFormat == "xlsx" ? "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
: "application/vnd.ms-excel;charset=ISO8859-1";
}
@Resource
private EfficDataService efficdataservice;
public String getContentDisposition() {
return contentDisposition;
}
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
public void setContentDisposition(String contentDisposition) {
this.contentDisposition = contentDisposition;
}
public String getDocumentFormat() {
return documentFormat;
}
public void setDocumentFormat(String documentFormat) {
this.documentFormat = documentFormat;
}
public EfficDataService getEfficdataservice() {
return efficdataservice;
}
@Resource
public void setEfficdataservice(EfficDataService efficdataservice) {
this.efficdataservice = efficdataservice;
}
//...
// params
@Action(value = "/createefficfile", results = { @Result(name = "success", type = "stream") }, params = {
"contentType", "${contentType}", "inputName", "${inputStream}",
"contentDisposition", "${contentDisposition}", "bufferSize", "2048" })
public String createefficfile() throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//... 3 Excel ,
HSSFWorkbook book = new HSSFWorkbook();
book = efficdataservice.createEfficCollectFile(this);
book.write(baos);
//... Excel
//... ,
this.setInputStream(new ByteArrayInputStream(baos.toByteArray()));
this.setContentDisposition("filename=\\"
+ java.net.URLEncoder.encode(getUploadFileFileName(), "UTF-8")
+ getDocumentFormat());
return "success";
}
}
Struts2의 Action을 주석으로 설정했습니다. xml 프로필로도 문제가 없을 것입니다.
전재 출처를 밝혀 주십시오...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
apache struts2 취약점 검증이번에는 보안 캠프의 과제였던 apache struts2의 취약성에 대해 실제로 손을 움직여 실행해 보고 싶습니다. 환경 VirtualBox에서 브리지 어댑터 사용 호스트:macOS 10.12 게스트:ubuntu 1...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.