<%@ page contentType="text/html;charset=UTF-8" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%! /** * @File Name : tranmap_demo.jsp * @Description : xFrame TranMap 검색 서비스 JSP * @Modification Information * @ * @ 수정일 수정내용 * @ --------- --------- ------------------------------- * @ 2018.09.03 최초생성 * @ 2020.10.06 수정배포 * * @author 소프트베이스 솔루션 개발팀 * @since 2018. 09. 03 * @version 1.0 * @see * * Copyright (C) by Softbase All right reserved. */ %> <%! //Dev@Studio에서 데이터 처리 시 사용하는 구분자 final String STARTEND_DEL = String.valueOf((char)0x03); // 데이터 시작, 끝 final String FIELD_DEL = String.valueOf((char)0x01); // 필드 final String RECORD_DEL = String.valueOf((char)0x02); // 레코드 final String ITEM_DEL = String.valueOf((char)0x04); //결과 리턴 코드 final String RESULT_SUCCESS = "1"; final String RESULT_FAIL = "0"; public String getFieldInfo(String fldName, String fldDesc, String index, String maxLength) { return "F" + ITEM_DEL + "" + ITEM_DEL + fldName + ITEM_DEL + fldDesc + ITEM_DEL + index + ITEM_DEL + maxLength + ITEM_DEL + FIELD_DEL; } public String getGridInfo(String grdName, String grdDesc, String index, String maxLength) { return "G" + ITEM_DEL + "" + ITEM_DEL + grdName + ITEM_DEL + grdName + ITEM_DEL + index + ITEM_DEL + maxLength + ITEM_DEL + FIELD_DEL; } public String getColumnInfo(String grdName, String colName, String colDesc, String index, String maxLength) { return "C" + ITEM_DEL + grdName + ITEM_DEL + colName + ITEM_DEL + colDesc + ITEM_DEL + index + ITEM_DEL + maxLength + ITEM_DEL + FIELD_DEL; } public String getErrorInfo(String errorMsg) { return STARTEND_DEL + RESULT_FAIL + errorMsg + STARTEND_DEL; } %> <% StringBuffer buffer = new StringBuffer(); //검색 조건 데이터 String tranMapId = request.getParameter("code"); String projectId = request.getParameter("projectid"); try { // [전체 데이터 구성] // 데이터 시작/끝 구분자 // 성공/실패 여부값 ("1"/"0") // 거래코드 정보 + 0x02 + 입력인덱스 정보 + 0x02 + 출력인덱스 정보 + 0x02 // 데이터 시작/끝 구분자 System.out.println("조회 기준 정보 : tranMapId = [" + tranMapId + "] projectId = [" + projectId + "]"); if(tranMapId.equals("")) { out.println(getErrorInfo("MapID 검색어를 입력하지 않으셨습니다.\nMapID는 필수 항목입니다.")); return; } buffer.append(STARTEND_DEL); // 데이터 시작/끝 구분자 buffer.append(RESULT_SUCCESS); // 성공/실패 여부 // 거래 코드 정보부 ------------------------------------------ buffer.append(tranMapId + FIELD_DEL); // 거래코드 ID buffer.append("거래코드 설명이다~" + FIELD_DEL); // 거래코드설명 buffer.append("홍길동" + FIELD_DEL); // 작업자 buffer.append("2016-11-20 09:05:11" + FIELD_DEL); // 작업일시 buffer.append("ver1.0" + FIELD_DEL); // 버전 buffer.append(RECORD_DEL); // 레코드 구분자 (거래코드 정보 끝) // 입력 정보부 -------------------------------------------- buffer.append(getFieldInfo("IN_FLD_A", "입력필드 A", "1", "10")); // 입력 전용 필드 buffer.append(getFieldInfo("IO_FLD_B", "입출력필드 B", "2", "20")); // 입출력 필드 buffer.append(getGridInfo("IN_GRD_A", "입력그리드 A", "10", "254")); // 입력 전용 그리드 buffer.append(getColumnInfo("IN_GRD_A", "IN_GRD_A_COL_A", "입력칼럼 A_A", "10.1", "10")); // 입력 전용 그리드 칼럼 buffer.append(getColumnInfo("IN_GRD_A", "IN_GRD_A_COL_B", "입력칼럼 A_B", "10.2", "20")); // 입력 전용 그리드 칼럼 buffer.append(getGridInfo("IO_GRD_B", "입출력그리드 B", "20", "254")); // 입출력 그리드 buffer.append(getColumnInfo("IO_GRD_B", "IO_GRD_B_COL_A", "입력칼럼 B_A", "20.1", "10")); // 입력 그리드 칼럼 buffer.append(getColumnInfo("IO_GRD_B", "IO_GRD_B_COL_B", "입출력칼럼 B_B", "20.2", "20")); // 입출력 그리드 칼럼 buffer.append(RECORD_DEL); // 레코드 구분자 (입력 인덱스 정보 끝) // 출력 정보부 -------------------------------------------- buffer.append(getFieldInfo("OUT_FLD_C", "출력필드 C", "1", "10")); // 출력 전용 필드 buffer.append(getFieldInfo("IO_FLD_B", "입출력필드 B", "2", "20")); // 입출력 필드 buffer.append(getGridInfo("OUT_GRD_C", "출력그리드 C", "10", "254")); // 출력 전용 그리드 buffer.append(getColumnInfo("OUT_GRD_C", "OUT_GRD_C_COL_A", "출력칼럼 A_A", "10.1", "10")); // 출력 전용 그리드 칼럼 buffer.append(getColumnInfo("OUT_GRD_C", "OUT_GRD_C_COL_B", "출력칼럼 A_B", "10.2", "20")); // 출력 전용 그리드 칼럼 buffer.append(getGridInfo("IO_GRD_B", "입출력그리드 B", "20", "254")); // 입출력 그리드 buffer.append(getColumnInfo("IO_GRD_B", "IO_GRD_B_COL_B", "입출력칼럼 B_B", "20.2", "20")); // 입출력 그리드 칼럼 buffer.append(getColumnInfo("IO_GRD_B", "IO_GRD_B_COL_C", "입력칼럼 B_C", "20.3", "20")); // 출력 그리드 칼럼 buffer.append(RECORD_DEL); // 레코드 구분자 (출력 인덱스 정보 끝) buffer.append(STARTEND_DEL); // 데이터 시작/끝 구분자 out.print(buffer.toString()); } catch(Exception e) { // 에러 발생 시 처리 out.print(getErrorInfo("Error Message: " + e.getMessage())); } %>