LaBee Framework 응답 설정(파일 다운로드), 업로드 방법
https://www.bee-wkspace.com/
상업 논리 랜덤 응답
부모 클래스에서 여러 개의 상업 논리 처리가 끝날 때의 응답 설정 방법을 정의했습니다.응답 설정을 변경함으로써 다른 상업 논리나 위탁 응답으로 간단하게 방향을 바꿀 수 있다.
상업 논리 응답 설정 유형
응답 유형
개요
일반적
responseContext에서 설정하지 않으면 기본적으로 상업 논리와 같은 화면 ID의 JSP로 변환됩니다.
setRedirectResponse(String target, String execute, String... param)
지정한 목표의 이벤트 처리를 다시 호출합니다.
setRedirectURL(String redirectURL, String statusCode, HashMap headerMap)
지정된 URL을 리디렉션합니다.
setDelegateResponse(String target, String execute, String... params)
지정한 목표의 이벤트 처리를 직접 실행하고 응답을 의뢰합니다.위탁 횟수의 제한을 받지 않고 여러 개의 상업 논리를 직렬로 집행할 수 있다.
setAjaxJsonResponse(JsonValueContext jsonvalContext)
'ID 이름, 설정 값' 형식의 JSON의 응답을 되돌려주고 비즈니스 논리와 같은 화면 ID의 JSP로 변환하여 지정한 ID의 대상 내용을 동적으로 바꿉니다.
setOtherScreenIdResponse(String screenId)
다른 화면 ID의 JSP로 마이그레이션하기 위한 응답 설정입니다.목적지 jsp에서는 커서 참고 클래스와 일치하거나 커서 참고를 사용하지 않아야 합니다.
파일 다운로드
비즈니스 논리 처리가 끝났을 때의 응답 정보를 가진responseContext를 설정하면 파일을 응답 (파일 다운로드) 으로 되돌려줍니다.파일 유형은 일반 텍스트, CSV, JSON, XML, 바이너리를 지원합니다.
JSON의 블로그 다운로드 방법 설치 예
/**
* JSONをダウンロードするイベント処理。
*/
@FwExeMethod
public ResponseContext jsonDownload() throws FwException {
try {
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("Language", "Java");
List<String> dataList = new ArrayList<String>();
dataList.add("Windows");
dataList.add("Mac");
dataList.add("Linux");
dataMap.put("Enviroment", dataList);
JsonUtil<Map<String, Object>> jsonUtil = new JsonUtil<Map<String, Object>>();
String json = jsonUtil.encodeToString(dataMap);
responseContext.setExportFileName("Sample.json");
responseContext.setResponseType(ResponseContext.RESPONSE_TYPE_JSON);
responseContext.setResponseJson(json);
} catch (Exception e) {
throw new FwException(e);
}
return responseContext;
}
CSV의 Blogic 메소드 설치 예 다운로드 /**
* CSVをダウンロードするイベント処理。
*/
@FwExeMethod
public ResponseContext jsonDownload() throws FwException {
try {
StringBuilder csv = new StringBuilder();
csv.append("北海道");
csv.append(CommonDefine.COMMA);
csv.append("青森");
csv.append(CommonDefine.COMMA);
csv.append("秋田");
csv.append(CommonDefine.COMMA);
csv.append("岩手");
responseContext.setExportFileName("Sample.csv");
responseContext.setResponseType(ResponseContext.RESPONSE_TYPE_CSV);
responseContext.setResponseCsv(csv.toString());
} catch (Exception e) {
throw new FwException(e);
}
return responseContext;
}
바이너리를 다운로드하는 Blogic 방법의 예
/**
* バイナリをダウンロードするイベント処理。
*/
@FwExeMethod
public ResponseContext jsonDownload() throws FwException {
try {
byte[] binary = new String("バイナリテスト").getBytes();
responseContext.setExportFileName("Sample.bin");
responseContext.setResponseType(ResponseContext.RESPONSE_TYPE_BINARY);
responseContext.setResponseBinary(binary);
} catch (Exception e) {
throw new FwException(e);
}
return responseContext;
}
파일 업로드
LaBeeFramework는 웹 화면에서 파일을 간단하게 업로드할 수 있으며 비즈니스 논리로 얻을 수 있다.특별한 처리는 거의 필요 없다.샘플 예제에서 웹 화면(JSP)에서 파일을 선택한 후 제출하면 비즈니스 논리로 얻은 파일 내용을'삐'에 불러오고 JSP에 응답합니다.
JSP 설치 예
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ page session="false"%>
<%@ taglib prefix="LaBee" uri="/WEB-INF/lib/LaBeeFramework.jar"%>
<jsp:useBean id="bean" class="sample.bean.web.SampleBean" scope="request" />
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LaBee:header requestScope="${requestScope}"/>
</head>
<body>
<form name="mainForm" method="post" action="ctrl">
<input type="file" name="file">
<br>
<button type="button"
onClick="<LaBee:postMultiPartSubmit
target="web.Sample"
execute="upload"
formName="mainForm"/>">
ファイル送信
</button>
<div>
${bean.uploadFileName}
</div>
<div>
${bean.uploadText}
</div>
</form>
</body>
</html>
package sample.bean.web;
import java.io.Serializable;
import com.bee_wkspace.labee_fw.app.base.AppBaseBean;
/**
* ファイルアップロードサンプルビーンクラス
*/
public class SampleBean extends AppBaseBean implements Serializable {
/** アップロードファイルテキスト */
private String uploadText;
/** アップロードファイル名 */
private String uploadFileName;
/**
* コンストラクタ。
*/
public SampleBean() {
super();
}
/**
* @return uploadText
*/
public String getUploadText() {
return uploadText;
}
/**
* @return uploadFileName
*/
public String getUploadFileName() {
return uploadFileName;
}
/**
* @param uploadText セットする uploadText
*/
public void setUploadText(String uploadText) {
this.uploadText = uploadText;
}
/**
* @param uploadFileName セットする uploadFileName
*/
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
}
블로그 설치 예
package sample.blogic.web;
import sample.bean.web.SampleBean;
import com.bee_wkspace.labee_fw.app.base.AppBaseBlogic;
import com.bee_wkspace.labee_fw.core.annotation.FwBlogic;
import com.bee_wkspace.labee_fw.core.annotation.FwExeMethod;
import com.bee_wkspace.labee_fw.core.context.ResponseContext;
import com.bee_wkspace.labee_fw.exception.FwException;
/**
* ファイルアップロードサンプルビジネスロジック
*/
@FwBlogic(beanReuse = false)
public class SampleBlogic extends AppBaseBlogic<SampleBean> {
/**
* コンストラクタ。
*/
public SampleBlogic() {
super();
}
/**
* ファイルアップロードイベント処理。
*/
@FwExeMethod
public ResponseContext upload() throws FwException {
try {
// 受信したファイル内容をビーンに格納
bean.setUploadFileName(super.uploadFileContext.getFileName());
bean.setUploadText(super.uploadFileContext.getUploadString());
} catch (Exception e) {
throw new FwException(e);
}
return responseContext;
}
}
메서드 이름
개요
String getFileName()
업로드한 파일의 이름을 반환합니다.
byte[] getUploadFileByte()
업로드된 파일의 2진 바이트 그룹을 되돌려줍니다.
String getUploadString()
업로드된 파일을 문자열로 변환하고 되돌려줍니다.
int getFileSize()
업로드한 파일의 크기를 반환합니다.
Reference
이 문제에 관하여(LaBee Framework 응답 설정(파일 다운로드), 업로드 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/LaBeeOfficial/items/e0c6ef2a6a88db497724텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)