LaBee Framework Ajax 비동기 통신·동적 화면 개편 방법(임의의 JSON 응답) ※ 사이트 규격이 무료 다운로드로 변경되었습니다.
LaBee Framework는 자바가 웹 시스템을 개발하는 공장 표준을 목표로 제로부터 제작하는 국산 자바 프레임워크다.해외 제조틀 특유의 난해함과 정보 부족으로 인한 노동시간과 인력 증가를 해결하고 자바의 웹 개발 효율성을 높이기 위해 제작됐다.LGPL 라이센스에 오픈 소스 코드가 공개되어 개인과 기업 모두 무료로 사용 가능
https://www.bee-wkspace.com/
Ajax 비동기 통신·동적 화면 재작성
웹 화면(JSP)에서 비동기 POST로 제출된 LaBeeFramework는'id명, 설정값'형식으로 JSON이 상업 논리로부터 응답을 받아 화면 요소를 동적으로 바꾸는 기능을 가진다.샘플 예제에서 화면의 "AjaxPost 보내기"링크를 클릭하면 비동기적인 Ajax 보내기가 수행되며, id에서 "user Name"의div 표시 값을 동적으로 덮어씁니다.
JSP 설치 예<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ page session="false"%>
<%@ taglib prefix="LaBee" uri="/WEB-INF/lib/LaBeeFramework.jar"%>
<!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">
<div>ユーザ名</div>
<div id="userName"> </div>
<a href="javascript:<LaBee:ajaxSubmit
target="web.AjaxSample"
execute="ajaxReceive"
formName="mainForm"/>">
AjaxPost送信
</a>
</form>
</body>
</html>
비즈니스 논리 구현 예
이번에는 비안을 사용하지 않기 때문에 부모님 반에 갔어요.bee_wkspace.labee_fw.app.base.AppBaseNotBeanUseBlogic을 계승했습니다.
package sample.blogic.web;
import com.bee_wkspace.labee_fw.app.base.AppBaseNotBeanUseBlogic;
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.core.context.JsonValueContext;
import com.bee_wkspace.labee_fw.exception.FwException;
/**
* JSONレスポンスサンプルビジネスロジック
*/
@FwBlogic(beanReuse = false)
public class AjaxSampleBlogic extends AppBaseNotBeanUseBlogic {
/**
* コンストラクタ。
*/
public AjaxSampleBlogic() {
super();
}
/**
* Ajax非同期イベント処理。
*/
@FwExeMethod
public ResponseContext ajaxReceive() throws FwException {
try {
// "id名、設定値"形式のJSONデータを構築する為のコンテキストを設定
JsonValueContext appJsonData = new JsonValueContext();
appJsonData.addJsonValue("userName", "テスト太郎");
// レスポンスに"id名、設定値"形式のJSONデータを返す設定を行なう
super.setAjaxJsonResponse(appJsonData);
} catch (Exception e) {
throw new FwException(e);
}
return responseContext;
}
}
전송 전 샘플 화면 표시 결과
발송 후 샘플 화면 표시 결과
모든 JSON 응답
LaBeeFramework는 웹 화면(JSP)에서 비동기 POST를 제출하여 임의의 JSON을 통해 상업 논리로부터 응답을 받고 임의의 JavaScript 방법을 실행하는 기능을 가진다.샘플 예제에서 화면에서 "AjaxPost 보내기"링크를 클릭하면 비동기식 Ajax 보내기
응답을 받을 때 responseJson () 방법을 자동으로 호출하고 JSON 내용이 alert에 표시됩니다.
JSP 설치 예
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ page session="false"%>
<%@ taglib prefix="LaBee" uri="/WEB-INF/lib/LaBeeFramework.jar"%>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LaBee:header requestScope="${requestScope}"/>
<script>
// 非同期レスポンス受信時に実行するJavaScriptメソッド
function responseJson() {
alert(window.JSON.stringify(wkJson));
}
</script>
</head>
<body>
<form name="mainForm" method="post" action="ctrl">
<a href="javascript:<LaBee:ajaxSubmit
target="web.AjaxSample2"
execute="ajaxReceive"
retExecFunc="responseJson()"
formName="mainForm"/>">
AjaxPost送信
</a>
</form>
</body>
</html>
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ page session="false"%>
<%@ taglib prefix="LaBee" uri="/WEB-INF/lib/LaBeeFramework.jar"%>
<!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">
<div>ユーザ名</div>
<div id="userName"> </div>
<a href="javascript:<LaBee:ajaxSubmit
target="web.AjaxSample"
execute="ajaxReceive"
formName="mainForm"/>">
AjaxPost送信
</a>
</form>
</body>
</html>
package sample.blogic.web;
import com.bee_wkspace.labee_fw.app.base.AppBaseNotBeanUseBlogic;
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.core.context.JsonValueContext;
import com.bee_wkspace.labee_fw.exception.FwException;
/**
* JSONレスポンスサンプルビジネスロジック
*/
@FwBlogic(beanReuse = false)
public class AjaxSampleBlogic extends AppBaseNotBeanUseBlogic {
/**
* コンストラクタ。
*/
public AjaxSampleBlogic() {
super();
}
/**
* Ajax非同期イベント処理。
*/
@FwExeMethod
public ResponseContext ajaxReceive() throws FwException {
try {
// "id名、設定値"形式のJSONデータを構築する為のコンテキストを設定
JsonValueContext appJsonData = new JsonValueContext();
appJsonData.addJsonValue("userName", "テスト太郎");
// レスポンスに"id名、設定値"形式のJSONデータを返す設定を行なう
super.setAjaxJsonResponse(appJsonData);
} catch (Exception e) {
throw new FwException(e);
}
return responseContext;
}
}
LaBeeFramework는 웹 화면(JSP)에서 비동기 POST를 제출하여 임의의 JSON을 통해 상업 논리로부터 응답을 받고 임의의 JavaScript 방법을 실행하는 기능을 가진다.샘플 예제에서 화면에서 "AjaxPost 보내기"링크를 클릭하면 비동기식 Ajax 보내기
응답을 받을 때 responseJson () 방법을 자동으로 호출하고 JSON 내용이 alert에 표시됩니다.
JSP 설치 예
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ page session="false"%>
<%@ taglib prefix="LaBee" uri="/WEB-INF/lib/LaBeeFramework.jar"%>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LaBee:header requestScope="${requestScope}"/>
<script>
// 非同期レスポンス受信時に実行するJavaScriptメソッド
function responseJson() {
alert(window.JSON.stringify(wkJson));
}
</script>
</head>
<body>
<form name="mainForm" method="post" action="ctrl">
<a href="javascript:<LaBee:ajaxSubmit
target="web.AjaxSample2"
execute="ajaxReceive"
retExecFunc="responseJson()"
formName="mainForm"/>">
AjaxPost送信
</a>
</form>
</body>
</html>
package sample.blogic.web;
import java.util.*;
import com.bee_wkspace.labee_fw.app.base.AppBaseNotBeanUseBlogic;
import com.bee_wkspace.labee_fw.common.JsonUtil;
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;
/**
* JSONレスポンスサンプルビジネスロジック
*/
@FwBlogic(beanReuse = false)
public class AjaxSample2Blogic extends AppBaseNotBeanUseBlogic {
/**
* コンストラクタ。
*/
public AjaxSample2Blogic() {
super();
}
/**
* Ajax非同期イベント処理。
*/
@FwExeMethod
public ResponseContext ajaxReceive() 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.setResponseType(ResponseContext.RESPONSE_TYPE_JSON);
responseContext.setResponseJson(json);
} catch (Exception e) {
throw new FwException(e);
}
return responseContext;
}
}
Reference
이 문제에 관하여(LaBee Framework Ajax 비동기 통신·동적 화면 개편 방법(임의의 JSON 응답) ※ 사이트 규격이 무료 다운로드로 변경되었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/LaBeeOfficial/items/86594432b99ec2422176텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)