< 이전 | 다음 >

학습 1.6: 갱신 페이지 작성

지금까지 웹 사이트에 대한 목록을 보고 작성하기 위한 페이지를 작성했습니다. 이 학습에서는 사용자가 목록을 갱신하고 삭제할 수 있는 페이지를 작성합니다. 갱신 페이지의 모양은 입력 필드에 사용자가 변경할 기존 레코드로부터 데이터를 표시한다는 점만 제외하면 작성 페이지와 거의 정확하게 일치합니다.
이 태스크 정보

우선, 데이터베이스로부터 기존 레코드를 표시하는 관계형 레코드를 작성합니다. 다음으로 이 관계형 레코드에 대한 JavaServer Faces 갱신 양식을 작성하고 몇 가지 변경을 수행하고 나면 페이지 테스트 준비가 완료됩니다.

갱신 관계형 레코드 작성

  1. 엔터프라이즈 탐색기 보기에서 update_record.jsp 파일을 두 번 클릭하여 여십시오.
  2. 기본 텍스트인 여기에 컨텐츠 삽입을 삭제하십시오.
  3. 팔레트 보기에서 데이터 및 서비스 드로어를 클릭하여 펼치십시오.
  4. 팔레트에서 SDO 관계형 레코드 컴포넌트를 끌어와 공백 컨텐츠 영역에 놓으십시오. 관계형 레코드 추가 창이 열립니다.
  5. 이름 필드에 update_record를 입력하십시오.
  6. 제어 작성 아래에서 기존 레코드 갱신을 클릭하십시오.
  7. 웹 페이지에 관계형 레코드를 표시하기 위해 입/출력 제어 추가 옵션이 선택되어 있는지 확인하십시오.
  8. 다음을 클릭하십시오.
  9. 테이블 상자에서 W5SAMPLE을 펼치고 ADS를 선택하십시오.
  10. 다음을 클릭하십시오. 관계형 레코드 추가 페이지가 열립니다.

결과 필터

관계형 레코드는 데이터베이스로부터 오직 하나의 레코드만 표시할 수 있습니다. 따라서 사용자가 편집할 레코드가 오직 하나만 표시되도록 데이터베이스 테이블을 필터해야 합니다. 이전 학습에서는 새 레코드를 작성했고 데이터베이스에서 필터할 결과가 없었으므로 데이터베이스를 필터할 필요가 없었습니다. 데이터베이스의 레코드마다 고유한 ID 번호가 있으므로 제공된 ID 번호가 있는 하나의 레코드로 결과를 필터합니다.
  1. 관계형 레코드 추가 페이지에 타스크 링크 목록이 있습니다. 타스크 아래에서 결과 필터를 클릭하십시오. 필터 창이 열리고 기본 필터 조건 ID = #{param.ID}필터 열에 삽입됩니다. 필터 창의 모양은 다음과 같습니다.
    필터 창
    이 코드는 데이터베이스의 레코드를 필터링하므로 지정된 ID 번호가 있는 레코드만 관계형 레코드에 표시됩니다. 이 조건에 대한 자세한 정보는 이 학습의 행 조치 추가 섹션을 참조하십시오. 닫기를 클릭하십시오.
  2. 다음을 클릭하십시오. 데이터 제어 구성 페이지가 열립니다.
  3. 표시할 필드 섹션에서 입력 양식에 표시하지 않을 모든 필드 이름 옆에 있는 선택란을 지우십시오.
    • ID
    • MAINCATEGORY
    • TITLE
    • DESCRIPTION
    • PRICE
    • PHONE
  4. 위로 또는 아래로를 클릭하면 다음과 같이 맨 위부터 맨 아래까지 필드 이름이 다시 정렬됩니다.
    • ID
    • TITLE
    • DESCRIPTION
    • MAINCATEGORY
    • PRICE
    • PHONE
  5. ID 필드의 경우 제어 유형 열의 드롭 다운 목록에서 표시 번호를 선택하십시오. 사용자가 레코드 ID 번호를 볼 수는 있지만 갱신하지는 못하게 할 경우가 있습니다. ID 필드를 출력 필드로 만들면 중복 ID의 문제를 방지할 수 있습니다.
  6. 옵션을 클릭하십시오. 옵션 창이 열립니다. 제출 단추 옵션을 선택하십시오. 레이블 필드에 갱신을 입력하십시오. 확인을 클릭하십시오. 관계형 레코드 추가 창이 다음과 같이 표시됩니다.
    관계형 레코드 추가 창
  7. 완료를 클릭하여 다음과 같이 페이지에 갱신 양식을 생성하십시오.
    갱신 양식 페이지

갱신 및 삭제 단추 프로그램

다시 코드를 추가하여 all_records.jsp 페이지에서 다른 레코드와 함께 변경된 레코드를 표시하도록 할 수 있습니다.
  1. 웹 페이지에 방금 작성한 갱신 단추를 마우스 오른쪽 단추로 클릭하고 특성을 선택하십시오.
  2. 규칙 추가를 클릭하십시오. 탐색 규칙 추가 창이 열립니다.
  3. 페이지 드롭 다운에서 all_records.jsp를 선택하십시오. 이 규칙의 사용 주체 상자에서 이 조치만을 클릭하십시오. 필드에 #{pc_Update_record.doUpdate_recordUpdateAction}이 포함되어 있는지 확인하십시오. 확인을 클릭하십시오.
  4. 1-3단계를 반복하여 웹 페이지의 삭제 단추에 대해서도 동일한 방법으로 코드를 편집하십시오. 이 규칙의 사용 주체 필드에 #{pc_Update_record.doUpdate_recordDeleteAction}이 포함되어 있는지 확인하십시오.
  5. 페이지를 저장하십시오. all_records.jsp 페이지로 돌아가는지 확인하기 위해 데이터베이스에서 레코드를 갱신하려면 테스트 서버에서 new_record.jsp를 실행하십시오.

행 조치 추가

이제 행 조치를 all_records.jsp의 테이블에 추가하여 사용자가 갱신할 데이터베이스 레코드를 선택할 수 있습니다. #{param.ID}는 갱신 페이지가 갱신될 레코드의 ID 번호를 나타냅니다. 사용자가 행을 클릭하면 해당 레코드 ID 번호가 #{param.ID} 매개변수로서 update_record.jsp 페이지로 전송됩니다. 그러고 나면 방금 update_record.jsp 페이지에 삽입한 필터된 관계형 레코드가 갱신을 위한 레코드만 표시합니다.
  1. 엔터프라이즈 탐색기 보기에서 all_records.jsp 파일을 두 번 클릭하여 편집기에 여십시오. 데이터 테이블의 임의의 곳을 클릭하십시오. 특성 보기를 여십시오.
  2. 특성 보기에서 HTML 태그 목록의 hx:dataTableEx 아래에서 행 조치 탭을 클릭하십시오.
  3. 행을 클릭할 때 수행되는 조치 추가를 클릭하십시오. RowAction 구성 대화 상자가 열립니다. 행을 클릭하면 매개변수로 송신된 행 정보가 있는 서버로 요청을 송신을 클릭한 후 확인을 클릭하십시오. 열이 데이터 테이블에 추가됩니다.
  4. 특성 보기에서 hx:requestRowAction 탭을 클릭하십시오.
  5. 규칙 추가를 클릭하십시오. 탐색 규칙 추가 대화 상자가 열립니다.
  6. 페이지 드롭 다운에서, update_record.jsp를 선택하십시오. 이 규칙을 사용한 대상 상자에서 이 조치만을 선택하십시오. 행 조치를 추가할 때 작성된 #{pc_All_records.doRowAction1Action}에서 이 조치만 필드는 자동으로 채워집니다. 확인을 클릭하십시오. 위의 메소드로 필드가 자동으로 채워지지 않는 경우 필드에 메소드를 입력하고 다음을 ClassifiedsTutorial/Java 자원: src/pagecode/All_records.java에 추가하십시오.
    	public String doRowAction1Action() {
    				return "";}
  7. 특성 보기에서 hx:requestRowAction 아래의 매개변수 탭을 클릭하십시오. 매개변수 추가를 클릭한 다음 이름 필드에 ID를 입력하십시오. ID 매개변수를 ID 열에 바인드해야 합니다. 데이터 목록의 ID 열에 행 조치를 바인딩하면 해당 행을 클릭할 때 요청 매개변수가 목록의 레코드에 대한 ID가 됩니다.
    1. 을 클릭한 다음 페이지 데이터 오브젝트 선택  단추를 클릭하십시오.
    2. 데이터 오브젝트 탭에서 all_recordlist(서비스 데이터 오브젝트) > all_recordlist (ADS)를 펼치고 ID(java.lang.Integer)를 선택하십시오.
    3. 확인을 클릭하십시오.
결과
이제 사용자가 행을 클릭하면 웹 사이트에서 사용자가 안내 광고에 대한 정보를 갱신할 수 있습니다. 파일을 저장하고 페이지를 테스트하십시오(원하는 경우). all_records.jsp는 update_record.jsp에 대한 링크가 되는 페이지이므로 먼저 열어 두어야 합니다.

학습 체크포인트

학습 1.6을 완료했습니다. 이 학습에서는 데이터베이스에서 레코드를 갱신하는 웹 페이지의 작성 방법에 대해 학습했습니다.
< 이전 | 다음 >

피드백