GEMINI.md: 업무 개발 가이드 및 UI/JSP 구조 가이드 상세 내용 추가

dev
박성영 4 months ago
parent 7264e815e2
commit 6734cb5059

@ -40,10 +40,18 @@ SELECT CONCAT('BBSN', LPAD(NEXTVAL(seq_notice_id), 16, '0'))
int totalCount = excelSampleService.selectExcelSampleListTotalCount(paramVO);
// 2. 응답 데이터 구성
paramVO.setTotalCount(totalCount);
// 3. 페이징 처리
// 3. 페이징 처리 (필수는 아님, 상황에 따라 페이징이 필요 없을 경우 제거해도 됨.)
paramVO.setPagingYn("Y");
```
### JS 구현시 setTimeout 최대한 구현하지마, 모여서 문제 발생됨.
### 업무별 개발 패턴 가이드
- **기초자료 (`baseData`)** 및 **단속 (`crdn`)** 등 업무 기능 개발 시, 아래 경로의 기존 소스 코드 패턴을 반드시 참조하여 일관성을 유지해야 합니다.
- **View (JSP):**
- `src/main/webapp/WEB-INF/views/baseData`
- `src/main/webapp/WEB-INF/views/crdn`
- **Controller/Service/Model (Java):**
- `src/main/java/go/kr/project/baseData/bldgNewPrcCrtrAmt`
- `src/main/java/go/kr/project/crdn`
## 2 주요 기술 및 라이브러리
### 2.1 핵심 기술 스택
@ -117,3 +125,62 @@ egovframework/
├── interceptor/ # 인터셉터
└── util/ # 유틸리티 클래스
```
## 4. UI 및 JSP 구조 가이드
### 4.1 화면 레이아웃 (Tiles)
- **`base` (기본 레이아웃):**
- 대부분의 관리자 페이지에서 사용되는 기본 레이아웃입니다.
- 템플릿: `/WEB-INF/views/layouts/base/default.jsp`
- 구성 요소:
- `menu_header`: 상단 로고 및 사용자 정보
- `menu`: 좌측 내비게이션 메뉴
- `main_header`: 메인 컨텐츠 영역의 헤더
- `main`: 실제 페이지 내용이 표시되는 부분
- **`login` (로그인 레이아웃):**
- 로그인 페이지를 위한 전용 레이아웃입니다.
- 템플릿: `/WEB-INF/views/layouts/login/default.jsp`
- **`popup` (팝업 레이아웃):**
- 팝업창을 위한 전용 레이아웃입니다.
- 템플릿: `/WEB-INF/views/layouts/popup/default.jsp`
### 4.2 주요 UI 컴포넌트 구조
- **모달 (Modal):**
- 목록 페이지 등 메인 JSP 파일 내에 HTML 구조를 포함하여 구현합니다.
- **핵심 CSS 클래스:**
- `.modalz`: 모달 전체를 감싸는 컨테이너
- `.modalz_body`: 모달 내용
- `.modalz_tit`: 모달 제목
- `.modalz_con`: 컨텐츠 영역
- `.modalz_foot`: 하단 버튼 영역
- **동작:** JavaScript로 `.act` 클래스를 추가하여 화면에 표시합니다. (`$('#detailModal').addClass('act');`)
- **참조:** `src/main/webapp/WEB-INF/views/system/loginLog/list.jsp`
- **팝업 (Popup):**
- `popup` Tiles 레이아웃을 사용하여 새로운 브라우저 창으로 표시됩니다.
- **핵심 CSS 클래스:**
- `.popup_wrap`: 팝업 전체를 감싸는 최상위 컨테이너
- `.popup_inner`: 실제 팝업 컨텐츠를 담는 영역
- `.popup_tit`: 팝업 제목
- `.popup_con`: 컨텐츠 영역
- `.popup_foot`: 하단 버튼 영역
- **참조:** `src/main/webapp/WEB-INF/views/system/user/auth_popup.jsp`
- **CSS:** `src/main/webapp/resources/xit/xit-popup.css`
- **그리드 (Grid):**
- `TOAST UI Grid`를 사용하여 목록을 표시합니다.
- **구현:** `XitTuiGridConfig` 헬퍼 클래스를 사용하여 그리드 설정을 초기화하고 `tui.Grid`로 인스턴스를 생성합니다.
- **데이터 로딩:** `dataSource` 객체의 `api.readData` 속성에 AJAX 호출 URL을 지정하여 서버와 통신합니다.
- **참조:** `src/main/webapp/WEB-INF/views/system/loginLog/list.jsp``<script>` 블록
### 4.3 공통 CSS 클래스
- **버튼:**
- `.newbtn`, `.newbtns`: 일반적인 버튼 스타일
- `.newbtn_grid`: 그리드 내에서 사용되는 작은 버튼
- `.btn-group`: 버튼들을 그룹화하고 정렬 (left, center, right)
- **레이아웃:**
- `.main_body`: 메인 컨텐츠 전체 컨테이너
- `.contants_body`: 실제 컨텐츠(검색, 그리드 등)를 감싸는 영역
- `.forms_table_non`, `.detail-table`: 상세 정보 테이블 스타일
- **폼:**
- `.numericMask`, `.decimalMask`: 숫자/소수점 입력 필드를 우측 정렬하여 가독성을 높입니다.

Loading…
Cancel
Save