목차
추천의 글 ... ⅵ
저자서문 ... ⅷ
감사의 글 ... ⅹ
역자서문 ... xii
일러두기 ... xxvi
1부 JSF로의 탐험 ... 1
   1장 JSF 소개 ... 3
      1.1 RAD 세상 ... 4
        1.1.1 그렇다면 JSF란 무엇인가? ... 5
        1.1.2 업계의 지원 ... 9
      1.2 기반 기술 ... 10
        1.2.1 HTTP ... 10
        1.2.2 서블릿 ... 12
        1.2.3 포틀릿 ... 13
        1.2.4 자바빈 ... 14
        1.2.5 JSP 및 그 밖의 웹 페이지 표현기술 ... 14
      1.3 프레임워크, 프레임워크, 프레임워크 ... 15
        1.3.1 프레임워크가 필요한 이유 ... 16
        1.3.2 그녀는 '모델 2' ... 16
        1.3.3 JSF와 스트럿츠, 그 밖의 프레임워크 ... 18
      1.4 어디서나 존재하는 컴포넌트 ... 20
      1.5 Hello, world! ... 21
        1.5.1 hello.jsp 분석 ... 25
        1.5.2 goodbye.jsp 분석 ... 30
        1.5.3 HelloBean 클래스 분석 ... 31
        1.5.4 faces-config.xml 파일 설정 ... 34
        1.5.5 web.xml 파일 설정 ... 35
      1.6 요약 ... 36
   2장 JSF의 기초 ... 38
      2.1 핵심 사항 ... 39
        2.1.1 사용자 인터페이스 컴포넌트 ... 41
        2.1.2 렌더러 ... 43
        2.1.3 검증기 ... 44
        2.1.4 기반 빈 ... 45
        2.1.5 변환기 ... 48
        2.1.6 이벤트와 리스너 ... 49
        2.1.7 메시지 ... 55
        2.1.8 네비게이션 ... 57
      2.2 요청 처리 생명주기 ... 59
        2.2.1 단계 1: 뷰 복원 ... 61
        2.2.2 단계 2: 요청 값 적용 ... 63
        2.2.3 단계 3: 유효성 검증 처리 ... 65
        2.2.4 단계 4: 모델 값 갱신 ... 66
        2.2.5 단계 5: 애플리케이션 호출 ... 67
        2.2.6 단계 6: 응답 렌더링 ... 68
      2.3 컴포넌트 식별자 및 클라이언트 식별자의 이해 ... 69
        2.3.1 명명 컨테이너 ... 72
        2.3.2 참조 식별자 ... 74
      2.4 JSF 표현 언어 ... 76
        2.4.1 범위 변수의 이해 ... 80
        2.4.2 내장 변수의 사용 ... 81
        2.4.3 컴포넌트와 함께 EL 사용하기 ... 83
      2.5 요약 ... 87
   3장 워밍업: JSF의 이모저모 ... 88
      3.1 JSF 환경 설정 ... 89
        3.1.1 기본 요구사항 ... 89
        3.1.2 JSF 구현체의 선택 ... 89
        3.1.3 디렉토리 구조 ... 90
        3.1.4 설정 ... 92
      3.2 JSP의 역할 ... 102
        3.2.1 JSP 인클루드 ... 103
        3.2.2 JSF를 JSTL 등의 JSP 커스텀 태그와 함께 사용하기 ... 104
      3.3 빈의 생성 및 초기화 ... 110
        3.3.1 관리 빈 선언 ... 112
        3.3.2 List와 Map을 관리 빈으로 선언 ... 123
        3.3.3 값 바인딩 표현식으로 값 지정하기 ... 125
      3.4 페이지 바다의 항해 ... 129
      3.5 요약 ... 136
   4장 표준 컴포넌트로 시작하기 ... 137
      4.1 모든 것은 컴포넌트에 ... 138
        4.1.1 HTML 속성 ... 142
        4.1.2 패싯의 이해 ... 143
        4.1.3 툴의 강력함 ... 145
        4.1.4 이면에 존재하는 렌더 키트 ... 147
      4.2 공통 컴포넌트 특성 ... 149
      4.3 UIViewRoot로 페이지 제어하기 ... 149
      4.4 UIParameter로 컴포넌트 파라미터 설정하기 ... 151
      4.5 Output으로 데이터 표현하기 ... 153
        4.5.1 HtmlOutputText로 평범한 텍스트 보여주기 ... 153
        4.5.2 〈f:verbatim〉 태그로 UIOutput 사용하기 ... 155
        4.5.3 HtmlOutputLabel로 입력 레이블 만들기 ... 158
        4.5.4 HtmlOutputFormat으로 파라미터화된 텍스트 만들기 ... 160
        4.5.5 HtmlOutputLink로 하이퍼링크 보여주기 ... 165
      4.6 HtmlGraphicImage로 이미지 보여주기 ... 168
      4.7 HtmlMessage로 컴포넌트 메시지 보여주기 ... 169
      4.8 HtmlMessages로 다수의 애플리케이션 메시지 보여주기 ... 172
      4.9 Panel 컴포넌트로 그룹화 및 레이아웃 만들기 ... 175
        4.9.1 HtmlPanelGroup으로 컴포넌트 그룹화하기 ... 176
        4.9.2 HtmlPanelGrid로 테이블 만들기 ... 177
      4.10 요약 ... 183
   5장 입력 컴포넌트와 데이터 테이블 컴포넌트 ... 185
      5.1 이벤트 리스너 등록 ... 186
        5.1.1 값 변경 리스너 선언 ... 187
        5.1.2 액션 리스너 선언 ... 188
      5.2 공통 컴포넌트 특성 ... 189
      5.3 HtmlForm으로 폼 다루기 ... 190
      5.4 기본 사용자 입력 다루기 ... 192
        5.4.1 HtmlInputText로 기본 텍스트 필드 선언 ... 193
        5.4.2 HtmlInputTextarea로 메모 필드 만들기 ... 194
        5.4.3 HtmlInputSecret으로 암호 필드 만들기 ... 195
        5.4.4 HtmlInputHidden으로 히든 필드 만들기 ... 196
      5.5 HtmlSelectBooleanCheckbox로 체크박스 만들기 ... 198
      5.6 아이템 목록 정의 ... 199
        5.6.1 단일한 아이템을 위한 UISelectItem ... 199
        5.6.2 다중 아이템을 위한 UISelectItems ... 202
      5.7 다중 선택 아이템 다루기 ... 204
        5.7.1 HtmlSelectManyCheckbox로 체크박스 그룹 만들기 ... 204
        5.7.2 HtmlSelectManyListbox로 리스트박스 만들기 ... 207
        5.7.3 HtmlSelectManyMenu로 단일 아이템 리스트박스 만들기 ... 209
      5.8 단일 선택 아이템 다루기 ... 211
        5.8.1 HtmlSelectOneRadio로 라디오 버튼 그룹 만들기 ... 211
        5.8.2 HtmlSelectOneListbox로 단일 선택 리스트박스 만들기 ... 214
        5.8.3 HtmlSelectOneMenu로 콤보 박스 만들기 ... 216
      5.9 애플리케이션 명령 실행 ... 217
        5.9.1 HtmlCommandButton으로 버튼 만들기 ... 218
        5.9.2 HtmlCommandLink로 액션 링크 만들기 ... 219
      5.10 HtmlDataTable로 데이터 집합 표현 ... 222
      5.11 요약 ... 232
   6장 국제화, 검증기, 변환기 ... 234
      6.1 국제화와 지역화 ... 235
        6.1.1 지역화 살펴보기 ... 236
        6.1.2 리소스 번들 만들기 ... 239
        6.1.3 컴포넌트와 함께 리소스 번들 사용하기 ... 241
        6.1.4 백엔드 코드의 텍스트에 대한 국제화 ... 245
      6.2 입력값 검증 ... 245
        6.2.1 검증 메소드 ... 246
        6.2.2 검증기 ... 246
        6.2.3 표준 검증기 ... 248
        6.2.4 여러 검증기의 조합 ... 251
      6.3 타입 변환 및 포맷팅 ... 252
        6.3.1 변환기 ... 254
        6.3.2 표준 변환기 작업 ... 255
      6.4 애플리케이션 메시지 커스터마이징 ... 269
      6.5 요약 ... 273
2부 사용자 인터페이스 개발 ... 275
   7장 ProjectTrack 소개 ... 277
      7.1 요구사항 ... 278
      7.2 개념적 모델 ... 281
      7.3 사용자 인터페이스 ... 283
      7.4 개발팀 ... 284
      7.5 요약 ... 286
   8장 로그인 페이지 작성 : 자바 코드 없이 사용자 인터페이스 개발하기 ... 287
      8.1 시작하기 ... 288
        8.1.1 web.xml의 설정 ... 289
        8.1.2 faces-config.xml의 설정 ... 290
      8.2 로그인 페이지 작성 ... 291
        8.2.1 HtmlGraphicImage와 HtmlOutputText 컴포넌트 추가 ... 292
        8.2.2 폼 추가 ... 295
      8.3 페이지에 멋 내기 ... 300
        8.3.1 버튼 이미지 사용 ... 301
        8.3.2 자바스크립트 추가 ... 301
        8.3.3 CSS 추가 ... 303
      8.4 검증기 추가 ... 304
        8.4.1 검증 메시지 커스터마이징 ... 307
      8.5 HtmlPanelGrid를 사용한 레이아웃 개선 ... 309
      8.6 요약 ... 315
   9장 나머지 페이지 작성 : 자바 코드 없이 사용자 인터페이스 개발하기 ... 316
      9.1 커스텀 컴포넌트로 헤더 만들기 ... 317
        9.1.1 커스텀 툴바 컴포넌트 ... 321
        9.1.2 네비게이션 규칙 설정 ... 323
      9.2 패널을 사용한 데이터 테이블 프로토타이핑 ... 324
        9.2.1 '인박스' 페이지 ... 325
        9.2.2 네비게이션 규칙 설정 ... 329
        9.2.3 '전체 보기' 페이지 ... 330
        9.2.4 네비게이션 규칙 설정 ... 331
      9.3 입력 폼 만들기 ... 331
        9.3.1 '프로젝트 승인' 페이지 ... 332
        9.3.2 네비게이션 규칙 설정 ... 337
        9.3.3 '프로젝트 기각' 페이지 ... 338
        9.3.4 네비게이션 규칙 설정 ... 340
        9.3.5 '프로젝트 생성' 페이지 ... 341
        9.3.6 네비게이션 규칙 설정 ... 346
      9.4 '프로젝트 상세보기' 페이지 ... 347
        9.4.1 네비게이션 규칙 설정 ... 351
      9.5 요약 ... 352
   10장 애플리케이션 기능 통합 ... 354
      10.1 JSF 개발 방식의 이해 ... 355
      10.2 애플리케이션 환경 알아보기 ... 357
      10.3 보안 적용을 위한 페이지 재구성 ... 359
      10.4 로그인 페이지 ... 360
        10.4.1 네비게이션 규칙 수정 ... 364
      10.5 헤더 ... 365
        10.5.1 네비게이션 규칙 수정 ... 369
      10.6 데이터 그리드 통합 ... 370
        10.6.1 '인박스' 페이지 ... 370
        10.6.2 '전체 보기' 페이지 ... 378
      10.7 입력 폼 통합 ... 379
        10.7.1 인클루드 수정 ... 379
        10.7.2 '프로젝트 승인' 페이지 ... 382
        10.7.3 '프로젝트 기각' 페이지 ... 386
        10.7.4 '프로젝트 생성' 페이지 ... 386
      10.8 '프로젝트 상세보기' 페이지 ... 390
        10.8.1 네비게이션 규칙 수정 ... 395
      10.9 에러 페이지 추가 ... 396
        10.9.1 web.xml 수정 ... 397
        10.9.2 네비게이션 규칙 수정 ... 398
      10.10 UI의 국제화 및 지역화 ... 398
        10.10.1 텍스트를 리소스 번들로 옮기기 ... 399
        10.10.2 헤더의 국제화 ... 401
        10.10.3 러시아어를 위한 지역화 ... 402
      10.11 요약 ... 405
3부 애플리케이션 로직 개발 ... 407
   11장 JSF 환경 ... 409
      11.1 서블릿에서 JSF까지 ... 410
      11.2 애플리케이션의 근간 ... 413
        11.2.1 Application ... 413
        11.2.2 표현식 평가 ... 417
      11.3 모든 것이 컨텍스트 안에 ... 419
        11.3.1 FacesContext ... 419
        11.3.2 FacesMessage ... 422
        11.3.3 ExternalContext ... 424
      11.4 이벤트 처리 ... 428
        11.4.1 FacesEvent ... 430
        11.4.2 액션 이벤트의 처리 ... 431
        11.4.3 값 변경 이벤트의 처리 ... 433
        11.4.4 단계 이벤트의 처리 ... 435
      11.5 컴포넌트의 재조명 ... 437
        11.5.1 UIComponent ... 442
        11.5.2 UIViewRoot ... 445
        11.5.3 ValueHolder ... 449
        11.5.4 EditableValueHolder ... 450
        11.5.5 SelectItem 및 SelectItemGroup 모델 빈 ... 452
      11.6 요약 ... 454
   12장 애플리케이션 빌드: 설계 및 기초 클래스 ... 456
      12.1 애플리케이션의 계층 ... 457
      12.2 빈 요리하기 ... 459
        12.2.1 toString의 중요성 ... 460
        12.2.2 직렬화 ... 462
        12.2.3 모든 것이 특성 안에 ... 462
        12.2.4 빈 공개하기 ... 471
      12.3 비즈니스 계층 및 데이터 계층 분석 ... 473
      12.4 애플리케이션 계층 개발 ... 476
        12.4.1 상수 다루기 ... 478
        12.4.2 유틸리티 메소드 구성 ... 480
        12.4.3 싱글톤 초기화 ... 482
        12.4.4 비즈니스 객체의 적용 ... 484
      12.5 세션 유지뿉
닫기