setErrorForComponentID()

sysLib.setErrorForComponentID() 시스템 함수는 메시지와 JSF 핸들러의 필드를 연관시킵니다.

연관은 웹 페이지의 컴포넌트 ID를 기반으로 합니다. JSF 핸들러가 함수를 호출하는 경우 메시지는 JSP에서 메시지 또는 메시지 태그의 위치에 배치됩니다.

관련 웹 페이지가 표시되면 메시지가 표시됩니다. 이 함수를 유효성 검증 루틴의 일부로 사용하거나 정보용 메시지에 사용할 수 있습니다.

유효성 검증 함수가 sysLib.setErrorForComponentID()를 호출하면 함수가 종료될 때 웹 페이지가 자동으로 다시 표시됩니다.

여러 메시지를 컴포넌트와 연관시킬 수 있습니다. JSF 핸들러가 forward 문을 실행하면 메시지가 손실됩니다.

구문

  sysLib.setErrorForComponentID(
    componentID STRING in,
    msgKey STRING in
    [, msgInserts STRING in])
componentID
메시지와 연관시킬 웹 페이지의 컴포넌트 ID로 formName:componentName 양식입니다. 여기서 formName은 컴포넌트가 있는 양식의 ID이고 componentName은 컴포넌트의 ID입니다.
msgKey
입력은 STRING 유형과 지정 호환 가능한 표현식 또는 변수입니다. msgKey는 런타임 시 사용되는 특성 파일 또는 메시지 자원 번들에 대한 키를 제공합니다. 키가 공백인 경우 메시지는 파일에 있는 모든 메시지의 연결입니다.
msgInserts
입력은 STRING 유형과 지정 호환 가능한 하나 이상의 표현식 또는 변수입니다. 각 msgInserts는 출력 메시지에 삽입됩니다. 메시지 텍스트의 대체 기호는 다음 예제와 같이 중괄호로 묶인 정수입니다.
  Invalid file name {0}
삽입항목의 배열을 사용하는 sysLib.getMessage()와 달리 sysLib.setErrorForComponentID()는 대체의 개별 매개변수를 사용합니다.
msgText
입력은 STRING 유형과 지정 호환 가능한 표현식 또는 변수입니다. 이는 웹 페이지 자체와 연관된 메시지의 텍스트입니다.

예제

다음 예제는 메시지 파일 errorMessages_en_US.properties의 항목을 표시합니다.

badname = The name you entered, {0}, is not valid.
다음 예제는 이 메시지를 사용하는 코드 섹션을 표시합니다.
  userName STRING = getUserName();  // ask for input
  rc = validateUserName(userName);
  if (rc < 0)
    SysLib.setErrorForComponentID( "form1:CustName", 
       SysLib.getMessage( "badname", [ userName ] ) );
  end

호환성

표 1. setErrorForComponentID()의 호환성 고려사항
플랫폼 문제
COBOL 생성 setErrorForComponentID() 함수는 지원되지 않습니다.
JavaScript 생성 setErrorForComponentID() 함수는 지원되지 않습니다.