Dreamweaver에서 사용자 정의 서버 비헤이비어 추가

마지막 업데이트 날짜 2024년 4월 25일
메모

Dreamweaver의 현재 버전 이후로 사용자 인터페이스가 간소화되었습니다. 따라서 이 문서에 설명된 옵션 중에 Dreamweaver의 현재 버전에 없는 옵션이 있을 수 있습니다. 자세한 내용은 이 문서를 참조하십시오.

사용자 정의 서버 비헤이비어 정보

Dreamweaver는 웹 사이트에 동적 기능을 쉽게 추가할 수 있는 내장 서버 비헤이비어를 제공합니다. 개발 요구사항에 맞는 서버 비헤이비어를 만들거나 Dreamweaver Exchange 웹 사이트에서 서버 비헤이비어를 가져와서 Dreamweaver 기능을 확장할 수 있습니다.

자체 서버 비헤이비어를 만들기 전에 Dreamweaver Exchange 웹 사이트를 확인해서 다른 개발자가 웹 사이트에 추가하려는 기능을 제공하는 서버 비헤이비어를 이미 만들었는지 살펴보세요. 제3자 개발자가 필요에 맞는 서버 비헤이비어를 만들고 테스트했을 가능성이 높습니다.

Dreamweaver Exchange 액세스

Dreamweaver에서 Dreamweaver Exchange에 다음 방법 중 하나로 액세스하세요:
  • [도움말] > [Dreamweaver Exchange]를 선택합니다.

  • Window > Server Behaviors를 선택하고 더하기(+) 버튼을 클릭한 다음 Get More Server Behaviors를 선택하세요.

브라우저에서 Dreamweaver Exchange 웹 페이지가 열립니다.

Adobe ID로 Exchange에 로그인하거나, 아직 Dreamweaver Exchange ID를 만들지 않았다면 안내에 따라 Adobe 계정을 개설하세요.

Dreamweaver에 서버 비헤이비어 또는 기타 확장 기능 설치하기

Commands > Manage Extensions를 선택해서 Extension Manager를 시작하세요.
Extension Manager에서 [파일] > [패키지 설치]를 선택하세요.

자세한 내용은 Extension Manager 사용 설명서를 참조하십시오.

사용자 정의 서버 비헤이비어 워크플로우

ColdFusion, JavaScript, VBScript 또는 PHP에 능숙한 웹 개발자라면 고유한 서버 비헤이비어를 작성할 수 있습니다. 서버 비헤이비어를 만드는 단계에는 다음과 같은 작업이 포함됩니다:

  • 필요한 작업을 수행하는 하나 이상의 코드 블록을 작성하세요.

  • 코드 블록을 페이지의 HTML 코드 내 어디에 삽입할지를 지정하세요.

  • 서버 비헤이비어에서 매개변수 값을 지정해야 하는 경우, 비헤이비어를 적용하는 웹 개발자가 적절한 값을 입력하도록 프롬프트하는 대화 상자를 만드세요.

  • 다른 사용자에게 제공하기 전에 서버 비헤이비어를 테스트합니다.

서버 비헤이비어 구성 관리자 사용

Server Behavior Builder를 사용해서 비헤이비어가 페이지에 삽입하는 코드 블록을 추가하세요.

[Server Behaviors] 패널([Window] > [Server Behaviors])에서 플러스(+) 버튼을 클릭한 다음 [New Server Behavior]를 선택하세요.
[Document Type] 팝업 메뉴에서 서버 비헤이비어를 개발할 문서 유형을 선택하세요.
[이름] 상자에 서버 비헤이비어의 이름을 입력합니다.
(선택 사항) 기존 서버 동작을 복사해서 만들고 있는 동작에 추가하려면 [Copy Existing Server Behavior] 옵션을 선택한 다음 [Behavior to Copy] 팝업 메뉴에서 서버 동작을 선택하세요.[확인]을 클릭합니다.

[서버 비헤이비어 구성 관리자] 대화 상자가 표시됩니다.

새 코드 블록을 추가하려면 더하기(+) 버튼을 클릭하고 코드 블록의 이름을 입력한 다음 [확인]을 클릭하세요.

입력한 이름이 [Server Behavior Builder]에 나타나고 [코드 블록] 상자에 적절한 스크립팅 태그가 표시됩니다.

Code Block 상자에 서버 비헤이비어를 구현하는 데 필요한 런타임 코드를 입력하세요.
메모

Code Block 상자에 코드를 입력할 때는 각각의 명명된 코드 블록에 대해 단일 태그나 코드 블록만 삽입할 수 있습니다(예: myBehavior_block1, myBehavior_block2, myBehavior_blockn 등). 여러 태그나 코드 블록을 입력해야 하는 경우 각각에 대해 개별 코드 블록을 만드세요. 다른 페이지에서 코드를 복사해서 붙여넣을 수도 있습니다.

코드 블록에서 매개변수를 삽입하려는 위치에 삽입점을 배치하거나, 매개변수로 바꿀 문자열을 선택하십시오.
[코드 블록에 매개 변수 삽입] 버튼을 클릭합니다.
[매개변수 이름] 상자에 매개변수 이름을 입력하고(예: Session), [확인]을 클릭하십시오.

매개변수를 정의하기 전에 삽입점을 배치한 위치의 코드 블록에 매개변수가 삽입됩니다. 문자열을 선택한 경우, 코드 블록에서 선택한 문자열의 모든 인스턴스가 매개변수 표시자로 바뀝니다(예: @@Session@@).

코드 삽입 팝업 메뉴에서 코드 블록을 포함할 위치를 지정하는 옵션을 선택하십시오.
(선택 사항) 서버 동작에 대한 추가 정보를 지정하려면 [고급] 버튼을 클릭하십시오.
추가 코드 블록을 작성하려면 5-11단계를 반복합니다.
서버 동작에 매개변수를 제공해야 하는 경우, 동작을 적용하는 사용자로부터 매개변수를 받는 대화 상자를 만들어야 합니다. 다음 링크를 참조하십시오.
서버 동작을 만들기 위한 필수 단계를 수행한 후 [확인]을 클릭하십시오.

[서버 비헤이비어] 패널에 서버 비헤이비어가 나열됩니다.

서버 동작을 테스트하고 제대로 작동하는지 확인하십시오.

고급 옵션

각 코드 블록의 소스 코드와 삽입 위치를 지정한 후 서버 동작이 완전히 정의됩니다. 대부분의 경우 추가 정보를 지정할 필요가 없습니다.

고급 사용자인 경우 다음 옵션 중 하나를 설정할 수 있습니다:

식별자

코드 블록을 식별자로 처리할지 여부를 지정합니다.

기본적으로 코드 블록은 모두 식별자입니다. Dreamweaver가 문서의 어느 곳에서든 식별자 코드 블록을 찾으면 [서버 동작] 패널에 해당 동작이 나열됩니다.식별자 옵션을 사용하여 코드 블록을 식별자로 처리할지 여부를 지정합니다.

서버 동작의 코드 블록 중 하나 이상은 반드시 식별자여야 합니다. 다음 조건 중 하나에 해당하는 경우 코드 블록은 식별자가 되어서는 안 됩니다. 동일한 코드 블록이 다른 서버 동작에서 사용되는 경우, 또는 코드 블록이 너무 간단하여 페이지에 자연스럽게 나타날 수 있는 경우입니다.

서버 비헤이비어 제목

[서버 비헤이비어] 패널에 표시될 해당 비헤이비어의 제목을 지정합니다.

페이지 디자이너가 서버 동작 패널에서 더하기(+) 버튼을 클릭하면 새 서버 동작의 제목이 팝업 메뉴에 나타납니다. 디자이너가 서버 동작의 인스턴스를 문서에 적용하면 해당 동작이 서버 동작 패널의 적용된 동작 목록에 나타납니다. 서버 동작 제목 상자를 사용하여 더하기(+) 팝업 메뉴와 적용된 동작 목록의 내용을 지정하세요.

상자의 초기 값은 새 서버 동작 대화 상자에서 입력한 이름입니다. 매개 변수가 정의되면 서버 동작 이름 뒤에 괄호 안에 매개 변수가 표시되도록 이름이 자동으로 업데이트됩니다.

세션 변수 설정 (@@Name@@, @@Value@@)

사용자가 기본값을 적용하면 괄호 앞의 모든 내용이 더하기(+) 팝업 메뉴에 나타납니다(예: 세션 변수 설정). 이름과 매개 변수가 적용된 동작 목록에 나타납니다. 예를 들어, 세션 변수 설정 ("abcd", "5")과 같이 표시됩니다.

선택할 코드 블록

사용자가 Server Behaviors 패널에서 동작을 선택할 때 어떤 코드 블록이 선택되는지 지정합니다.

서버 동작을 적용하면 동작 내의 코드 블록 중 하나가 "선택할 코드 블록"으로 지정됩니다. 서버 동작을 적용한 후 Server Behaviors 패널에서 동작을 선택하면 지정된 블록이 Document 창에서 선택됩니다. 기본적으로 Dreamweaver는 html 태그 위에 있지 않은 첫 번째 코드 블록을 선택합니다. 모든 코드 블록이 html 태그 위에 있으면 첫 번째 블록이 선택됩니다. 고급 사용자는 어떤 코드 블록을 선택할지 지정할 수 있습니다.

코드 블록 만들기

Server Behavior Builder에서 만든 코드 블록은 Server Behaviors 패널에 나타나는 서버 동작으로 캡슐화됩니다. 코드는 지정된 서버 모델에 대해 유효한 런타임 코드면 됩니다. 예를 들어, 사용자 정의 서버 동작의 문서 유형으로 ColdFusion을 선택하면 작성하는 코드가 ColdFusion 애플리케이션 서버에서 실행되는 유효한 ColdFusion 코드여야 합니다.

Server Behavior Builder에서 직접 코드 블록을 만들거나 다른 소스에서 코드를 복사하여 붙여넣을 수 있습니다. Server Behavior Builder에서 만드는 각 코드 블록은 단일 태그 또는 스크립트 블록이어야 합니다. 여러 태그 블록을 삽입해야 하는 경우 별도의 코드 블록으로 분할하십시오.

코드 블록의 조건

Dreamweaver를 사용하면 조건부로 실행되는 제어 문을 포함하는 코드 블록을 개발할 수 있습니다. Server Behavior Builder는 if, elseif, else 문을 사용하며 서버 동작 매개변수도 포함할 수 있습니다. 이를 통해 서버 동작 매개변수 간 OR 관계 값을 기반으로 대체 텍스트 블록을 삽입할 수 있습니다.

다음 예제에서는 if, elseif, else 문을 보여줍니다. 대괄호([ ])는 선택적 코드를 나타내고 별표 (*)는 0개 이상의 인스턴스를 나타냅니다. 특정 조건이 적용되는 경우에만 코드 블록의 일부 또는 전체 코드 블록을 실행하려면 다음 구문을 사용하십시오:

<@ if (expression1) @> 조건식

text1[<@ elseif (expression2) @> 조건부 텍스트2]*[<@ else @>

조건부 text3]<@ endif @>

조건 표현식은 JavaScript eval() 함수를 사용하여 평가할 수 있는 JavaScript 표현식이면 되며, @@로 표시된 서버 동작 매개변수를 포함할 수 있습니다. (@@는 매개변수를 JavaScript 변수와 키워드와 구별해 줍니다.)

조건식의 효과적인 사용

insertText XML 태그 내에서 if, else, elseif 지시어를 사용할 때 참가자 텍스트가 전처리되어 if 지시어를 해결하고 결과에 포함할 텍스트를 결정합니다. ifelseif 지시어는 표현식을 인수로 사용합니다. 조건 표현식은 JavaScript 조건 표현식과 동일하며 서버 동작 매개변수도 포함할 수 있습니다. 이와 같은 지시어를 사용하면 서버 동작 매개변수의 값이나 매개변수 간의 관계를 기반으로 대체 코드 블록을 선택할 수 있습니다.

예를 들어 다음 JSP 코드는 조건부 코드 블록을 사용하는 Dreamweaver 서버 동작에서 가져온 것입니다:

@@rsName@@.close();

<@ if (@@callableName@@ != '') @>

@@callableName@@.execute();

@@rsName@@ = @@callableName@@.getResultSet();<@ else @>

@@rsName@@ = Statement@@rsName@@.executeQuery();

<@ endif @>

@@rsName@@_hasData = @@rsName@@.next();

조건부 코드 블록은 <@ if (@@callableName@@ != '') @>로 시작해서 <@ endif @>로 끝납니다. 코드에 따르면, 사용자가 서버 동작의 매개변수 대화 상자에서 @@callableName@@ 매개변수에 값을 입력하면, 즉 @@callableName@@ 매개변수 값이 null이 아니거나 (@@callableName@@ != '')인 경우 조건부 코드 블록이 다음 문으로 바뀝니다:

@@callableName@@.execute();

@@rsName@@ = @@callableName@@.getResultSet();

그렇지 않으면 코드 블록이 다음 문으로 바뀝니다:

@@rsName@@ = Statement@@rsName@@.executeQuery();

코드 블록 위치 지정

서버 동작 빌더를 사용하여 코드 블록을 생성할 때는 페이지의 HTML 코드에서 코드 블록을 삽입할 위치를 지정해야 합니다.

예를 들어 <html> 여는 태그 위에 코드 블록을 삽입하는 경우 페이지 HTML 코드의 해당 섹션에 있는 다른 태그, 스크립트, 서버 동작과 관련하여 코드 블록의 위치를 지정해야 합니다.일반적인 예로는 <html> 여는 태그 위의 페이지 코드에 존재할 수 있는 레코드세트 쿼리의 앞이나 뒤에 동작을 배치하는 것이 있습니다.

코드 삽입 팝업 메뉴에서 위치 지정 옵션을 선택하면 상대 위치 팝업 메뉴에서 사용할 수 있는 옵션이 변경되어 페이지의 해당 부분에 관련된 옵션을 제공합니다.예를 들어 코드 삽입 팝업 메뉴에서 <html> 태그 위를 선택하면 상대 위치 팝업 메뉴에서 사용할 수 있는 위치 지정 옵션이 페이지의 해당 부분과 관련된 선택사항을 반영합니다.

다음 표는 코드 블록 삽입 옵션과 각 옵션에서 사용할 수 있는 상대 위치 지정 옵션을 보여줍니다:

코드 삽입 옵션

상대적 위치 옵션

<html> 태그 위

  • 파일의 시작

  • 레코드세트 바로 앞

  • 레코드세트 바로 뒤

  • <html> 태그 바로 위

  • 사용자 정의 위치

</html> 태그 아래

  • 파일 끝 이전

  • 레코드세트 닫기 이전

  • 레코드세트 닫기 다음

  • </html> 태그 다음

  • 사용자 정의 위치

특정 태그에 상대적

태그 팝업 메뉴에서 태그를 선택한 후 태그 위치 지정 옵션 중에서 선택합니다.

선택 영역에 상대적

선택 영역 이전

선택 영역 다음

선택 영역 교체

선택 영역 주위에서 줄바꿈

사용자 정의 위치를 지정하려면 코드 블록에 가중치를 할당해야 합니다.특정 순서로 둘 이상의 코드 블록을 삽입해야 하는 경우 사용자 지정 위치 옵션을 사용합니다.예를 들어, 레코드셋을 여는 코드 블록 후에 순서가 정해진 세 개의 코드 블록을 삽입하려면 첫 번째 블록에는 60, 두 번째 블록에는 65, 세 번째 블록에는 70의 가중치를 입력합니다.

기본적으로 Dreamweaver은 <html> 태그 위에 삽입되는 모든 레코드셋 여는 코드 블록에 50의 두께를\n할당합니다.\n두 개 이상의 블록의 가중치가 일치하면 Dreamweaver에서 해당 블록들 간의 순서를 무작위로 설정합니다.

코드 블록 위치 지정(일반 지침)

서버 비헤이비어 빌더를 사용하여 코드 블록을 작성하세요.
서버 비헤이비어 빌더 대화 상자에서 [코드 삽입] 팝업 메뉴에서 코드 블록을 삽입할 위치를\n선택합니다.
서버 비헤이비어 빌더 대화 상자에서 [코드 삽입] 팝업 메뉴에서 선택한 위치와\n관련된 위치를 선택합니다.
코드 블록 작성을 완료한 후 [확인]을\n클릭합니다.

서버 동작이 서버 동작 패널에 나열됩니다([창] > [서버 동작]). [+] 버튼을 클릭하여 서버 동작을 봅니다.

서버 비헤이비어를 테스트하여 올바르게 작동하는지\n확인합니다.

페이지의 다른 태그와 관련된\n위치에 코드 블록 배치

[코드 삽입] 팝업 메뉴에서 [특정 태그와\n관련 위치]를 선택합니다.
[태그] 상자에서 태그를 입력하거나 팝업\n메뉴에서 선택합니다.

태그를 입력할 때 꺽쇠 괄호(<>)는 사용하지 마십시오.

[상대 위치] 팝업 메뉴에서 옵션을 선택하여 태그와 관련된 위치를 지정합니다.

페이지 디자이너가 선택한 태그와\n관련된 위치에 코드 블록 배치

[코드 삽입] 팝업 메뉴에서 [선택 영역과\n관련 위치]를 선택합니다.
[상대 위치] 팝업 메뉴에서 옵션을 선택하여 선택 영역과 관련된 위치를 지정합니다.

선택 영역 바로 앞이나 바로 뒤에 코드 블록을\n삽입할 수 있습니다.선택 영역을 코드 블록으로 바꾸거나 선택 영역 주위에\n코드 블록을 감쌀 수 있습니다.

선택\n영역 주위에 코드 블록을 감싸려면 선택 영역이 다음과 같이 여는 태그와 닫는 태그로만 구성되어야 하며, 태그 사이에는\n아무것도 없어야 합니다:

<CFIF Day="Monday"></CFIF>

선택 영역의 여는 태그 앞에 코드 블록의 여는 태그 부분을 삽입하고 선택 영역의 닫는 태그 뒤에 코드 블록의 닫는 태그 부분을 삽입합니다.

loop 지시문을 사용하여 코드 블록 반복

코드 블록의 일부 또는 전체 코드\n블록을 여러 번 반복하려면 다음 구문을 사용합니다:

<@ loop (@@param1@@,@@param2@@) @> 코드

블록<@ endloop @>

서버 비헤이비어를 만들 때, 루프 구조를 사용하여 코드 블록을 지정된 횟수만큼 반복할 수 있습니다. <@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @> 코드 블록 <@ endloop @>루프 지시문은 쉼표로 구분된 매개변수 배열 목록을 인수로 받습니다. 이 경우 매개변수 배열 인수를 사용하면 사용자가 단일 매개변수에 대해 여러 값을 제공할 수 있습니다. 반복되는 텍스트는 n회 복제되며, 여기서 n은 매개변수 배열 인수의 길이입니다. 둘 이상의 매개변수 배열 인수가 지정된 경우 모든 배열의 길이가 같아야 합니다. 루프의 i번째 평가에서 매개변수 배열의 i번째 요소가 코드 블록의 연결된 매개변수 인스턴스를 대체합니다.

서버 동작에 대한 대화 상자를 만들 때, 페이지 디자이너가 매개변수 배열을 만들 수 있도록 하는 컨트롤을 대화 상자에 추가할 수 있습니다.Dreamweaver에는 대화 상자를 만드는 데 사용할 수 있는 간단한 배열 컨트롤이 포함되어 있습니다. Text Field Comma Separated List라고 하는 이 컨트롤은 Server Behavior Builder를 통해 사용할 수 있습니다. 더 복잡한 사용자 인터페이스 요소를 만들려면 API 문서를 참조하여 배열을 만드는 컨트롤(예: 격자 컨트롤)이 있는 대화 상자를 만드십시오.

조건부 지시문 내에서 조건부 또는 루프 지시문을 원하는 수만큼 중첩할 수 있습니다. 예를 들어, 표현식이 참일 경우 루프를 실행하도록 지정할 수 있습니다.

다음 예제는 이러한 반복 코드 블록을 사용하여 서버 비헤이비어를 만드는 방법을 보여 줍니다(이 예제는 저장 프로시저에 액세스하는 데 사용되는 ColdFusion 비헤이비어입니다):

<@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @> 코드 블록

<@ endloop @>

<CFSTOREDPROC procedure="AddNewBook"

datasource=#MM_connection_DSN#

username=#MM_connection_USERNAME#

password=#MM_connection_PASSWORD#>

<CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryID#"

cfsqltype="CF_SQL_INTEGER">

<CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#"

cfsqltype="CF_SQL_VARCHAR">

</CFSTOREDPROC>

이 예제에서 CFSTOREDPROC 태그는 CFPROCPARAM 태그를 0개 이상 포함할 수 있습니다. 하지만 루프 지시문에 대한 지원이 없으면 삽입된 CFSTOREDPROC 태그 내에 CFPROCPARAM 태그를 포함할 방법이 없습니다. 루프 지시문을 사용하지 않고 서버 동작으로 만들려면 이 예제를 두 개의 참가자로 나누어야 합니다: 메인 CFSTOREDPROC 태그와 참가자 유형이 다중인 CFPROCPARAM 태그입니다.

루프 지시문을 사용하면 동일한 절차를 다음과 같이 작성할 수 있습니다:

<CFSTOREDPROC procedure="@@procedure@@"

datasource=#MM_@@conn@@_DSN#

username=#MM_@@conn@@_USERNAME#

password=#MM_@@conn@@_PASSWORD#>

<@ loop (@@paramName@@,@@value@@,@@type@@) @>

<CFPROCPARAM type="IN"

dbvarname="@@paramName@@"

value="@@value@@"

cfsqltype="@@type@@">

<@ endloop @>

</CFSTOREDPROC>

메모

"@>" 뒤에 나오는 각 행은 무시됩니다.

사용자가 서버 동작 빌더 대화 상자에서 다음 매개 변수 값을 입력했다면:

procedure = "proc1"

conn = "connection1"

paramName = ["@CategoryId", "@Year", "@ISBN"]

value = ["#Form.CategoryId#", "#Form.Year#", "#Form.ISBN#"]

type = ["CF_SQL_INTEGER", "CF_SQL_INTEGER", "CF_SQL_VARCHAR"]

서버 동작은 다음 런타임 코드를 페이지에 삽입합니다:

<CFSTOREDPROC procedure="proc1"

datasource=#MM_connection1_DSN#

username=#MM_connection1_USERNAME#

password=#MM_connection1_PASSWORD#>

<CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryId#"

cfsqltype="CF_SQL_INTEGER">

<CFPROCPARAM type="IN" dbvarname="@Year" value="#Form.Year#"

cfsqltype="CF_SQL_INTEGER">

<CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#"

cfsqltype="CF_SQL_VARCHAR">

</CFSTOREDPROC>

메모

매개변수 배열은 조건부 지시문 표현식의 일부로 사용하는 경우를 제외하고는 루프 밖에서 사용할 수 없습니다.

loop 지시문의 _length 및 _index 변수 사용

if 조건을 포함하는 데 사용할 수 있는 두 개의 기본 제공 변수가 루프 지시문에 포함되어 있습니다. 이 변수는 _length_index입니다. _length 변수는 루프 지시문으로 처리되는 배열의 길이로 평가되고, _index 변수는 루프 지시문의 현재 색인으로 평가됩니다. 변수가 루프에 전달될 실제 매개변수가 아닌 지시문으로만 인식되도록 하려면 두 변수를 @@로 묶지 마십시오.

기본 제공 변수를 사용하는 예는 페이지 지시문의 import 특성에 적용하는 것입니다. import 특성은 패키지를 쉼표로 구분해야 합니다. loop 지시문이 전체 import 특성을 확장하는 경우, 루프의 첫 번째 반복에서만 특성 이름 import=를 출력하고(닫는 큰따옴표(")포함) 루프의 마지막 반복에서는 쉼표를 출력하지 않습니다. 기본 제공 변수를 사용하여 다음과 같이 표현할 수 있습니다:

<@loop (@@Import@@)@>

<@ if(_index == 0)@>import="

<@endif@>@@Import@@<@if (_index == _length-1)@>"<@else@>,

<@ endif @>

<@endloop@>

서버 동작에 대한 매개변수 요청

서버 동작에서는 페이지 디자이너가 매개변수 값을 제공해야 하는 경우가 많습니다. 이 값은 서버 동작의 코드가 페이지에 삽입되기 전에 추가되어야 합니다.

코드에서 디자이너가 제공한 매개변수를 정의하여 대화 상자를 생성합니다.그런 다음 매개변수 값을 페이지 디자이너에게 묻는 서버 동작용 대화 상자를 생성합니다.

메모

페이지 디자이너가 선택한 특정 태그를 기준으로 코드를 삽입하도록 지정한 경우( 즉, [코드 삽입] 팝업 메뉴에서 [특정 태그 기준]을 선택한 경우) 사용자의 개입 없이 코드 블록에 매개변수가 추가됩니다. 이 매개변수는 페이지 디자이너가 태그를 선택할 수 있도록 동작의 대화 상자에 태그 메뉴를 추가합니다.

서버 동작 코드에서 매개변수를 정의하십시오.

제공된 매개변수 값을 삽입할 코드 위치에 매개변수 마커를 입력하십시오. 매개변수의 구문은 다음과 같습니다:

@@parameterName@@

formParam 문자열을 매개변수 마커(@@)로 감싸십시오:

<% Session("lang_pref") = Request.Form("@@formParam@@"); %>

예를 들어 서버 동작에 다음 코드 블록이 포함된 경우:

<% Session("lang_pref") = Request.Form("Form_Object_Name"); %>

페이지 디자이너가 Form_Object_Name의 값을 제공하도록 하려면, 문자열을 매개변수 마커(@@)로 묶으십시오:<% Session(&quot;lang_pref&quot;) = Request.Form(&quot;@@Form_Object_Name@@&quot;); %>

<% Session("lang_pref") = Request.Form("@@Form_Object_Name@@"); %>

또한 문자열을 강조 표시한 다음 [코드 블록에 매개 변수 삽입] 버튼을 클릭해도 됩니다. 매개 변수 이름을 입력하고 [확인]을 클릭합니다. Dreamweaver는 강조 표시된 문자열의 모든 인스턴스를, 매개 변수 표시자로 묶어 지정된 매개 변수 이름으로 바꿉니다.

Dreamweaver는 생성된 대화 상자의 컨트롤에 매개 변수 표시자로 묶인 문자열을 사용하여 레이블을 지정합니다(아래 절차 참조). 위 예제에서 Dreamweaver는 다음 레이블이 지정된 대화 상자를 만듭니다.

메모

서버 비헤이비어 코드에 사용된 매개 변수 이름에는 공백을 사용할 수 없습니다. 따라서 대화 상자 레이블에도 공백이 사용되지 않습니다. 레이블에 공백을 사용하려는 경우에는 생성된 HTML 파일을 편집합니다.

매개 변수 이름 입력

서버 동작의 매개변수 값을 요청하는 대화 상자 만들기

서버 동작 빌더에서 [다음]을 클릭합니다.
대화 상자 컨트롤의 표시 순서를 변경하려면 매개변수를 선택하고 위쪽 및 아래쪽 화살표를 클릭합니다.
매개변수의 컨트롤을 변경하려면 매개변수를 선택하고 [표시 형식] 열에서 다른 컨트롤을 선택합니다.
[확인]을 클릭합니다.

Dreamweaver에서 정의한 각 디자이너 제공 매개변수에 대해 레이블이 지정된 컨트롤이 있는 대화 상자를 생성합니다.

대화 상자 보기

[서버 동작] 패널([창] > [서버 동작])에서 플러스(+) 버튼을 클릭하고 팝업 메뉴에서 사용자 정의 서버 동작을 선택합니다.

서버 동작용으로 만든 대화 상자 편집

[서버 동작] 패널([창] > [서버 동작])에서 플러스(+) 버튼을 클릭하고 팝업 메뉴에서 [서버 동작 편집]을 선택합니다.
목록에서 서버 동작을 선택하고 [열기]를 클릭합니다.
[다음]을 클릭합니다.

코드에서 정의한 모든 디자이너 제공 매개변수를 나열하는 대화 상자가 나타납니다.

대화 상자 컨트롤의 표시 순서를 변경하려면 매개변수를 선택하고 위쪽 및 아래쪽 화살표를 클릭합니다.
매개변수의 컨트롤을 변경하려면 매개변수를 선택하고 [표시 형식] 열에서 다른 컨트롤을 선택합니다.
[확인]을 클릭합니다.

서버 비헤이비어 편집 및 수정

Dreamweaver Exchange 웹 사이트에서 다운로드한 서버 동작 및 기타 타사 개발자가 만든 서버 동작을 포함하여 서버 동작 빌더로 생성된 서버 동작을 편집할 수 있습니다.

페이지에 서버 동작을 적용한 다음 Dreamweaver에서 해당 동작을 편집하면 기존 동작의 인스턴스가 더 이상 [서버 동작] 패널에 나타나지 않습니다. [서버 동작] 패널은 알려진 서버 동작의 코드와 일치하는 코드를 페이지에서 검색합니다. 서버 동작의 코드가 변경되면 패널이 해당 페이지에서 이전 버전의 동작을 인식하지 못합니다.

패널에서 기존 버전과 새 버전의 동작을 모두 유지하십시오

[서버 동작] 패널([창] > [서버 동작])에서 더하기(+) 버튼을 클릭하고 [새 서버 동작]을 선택한 다음 기존 서버 동작의 사본을 만드십시오.

Server Behavior Builder로 만든 서버 동작의 코드를 편집하십시오

[서버 동작] 패널([창] > [서버 동작])에서 더하기(+) 버튼을 클릭하고 팝업 메뉴에서 [서버 동작 편집]을 선택하십시오.

[서버 동작 편집] 대화 상자에는 현재 서버 기술에 대한 모든 동작이 표시됩니다.

서버 비헤이비어를 선택한 후 [편집]을 클릭합니다.
적절한 코드 블록을 선택하고 코드, 매개변수 표시 또는 페이지에 삽입될 코드 블록의 위치를 수정하십시오.
수정된 코드에 Designer가 제공한 매개변수가 포함되어 있지 않으면 [확인]을 클릭하십시오.

Dreamweaver가 대화 상자 없이 서버 동작을 다시 생성합니다. 새 서버 동작이 [서버 동작] 패널의 더하기(+) 팝업 메뉴에 나타납니다.

수정된 코드에 Designer가 제공한 매개변수가 포함되어 있으면 [다음]을 클릭하십시오.

Dreamweaver가 기존 대화 상자를 덮어쓰면서 새 대화 상자를 만들지 묻습니다. 변경한 후 [확인]을 클릭하세요.

Dreamweaver가 서버 동작의 EDML 파일에 모든 변경 사항을 저장합니다.

코딩 지침

일반적으로 서버 동작 코드는 간결하고 견고해야 합니다.웹 애플리케이션 개발자는 페이지에 추가되는 코드에 매우 민감합니다. 문서 유형의 언어(ColdFusion, JavaScript, VBScript 또는 PHP)에 대해 일반적으로 허용되는 코딩 관행을 따르는 것이 좋습니다.주석을 작성할 때는 웹 및 인터랙션 디자이너나 다른 웹 애플리케이션 개발자와 같이 코드를 이해해야 하는 다양한 기술적 대상자를 고려해야 합니다.코드의 목적과 페이지에 포함하기 위한 특별한 지침을 정확하게 설명하는 주석을 포함해야 합니다.

서버 동작을 만들 때는 다음 코딩 지침을 염두에 두어야 합니다:

오류 검사

중요한 작업입니다. 서버 동작의 코드는 오류 상황을 적절히 처리해야 합니다. 모든 가능성을 예측해 보십시오. 예를 들어, 매개변수 요청이 실패하면 어떻게 할까요? 쿼리에서 반환되는 레코드가 없다면 어떻게 할까요?

고유한 이름

코드를 명확하게 식별할 수 있도록 하고 기존 코드와의 이름 충돌을 방지하는 데 도움이 됩니다. 예를 들어, 페이지에 hideLayer()라는 함수와 ERROR_STRING이라는 전역 변수가 포함되어 있고, 서버 비헤이비어가 이러한 이름을 사용하는 코드를 삽입하면 서버 비헤이비어가 기존 코드와 충돌할 수 있습니다.

코드 접두어

페이지에서 고유한 런타임 함수와 전역 변수를 식별할 수 있도록 합니다.이 경우 한 가지 규칙은 사용자 이름의 머리 글자를 사용하는 것입니다. MM_ 접두사는 절대 사용하지 마십시오. 이는 Dreamweaver 전용으로 예약되어 있습니다. Dreamweaver는 모든 함수와 전역 변수 앞에 MM_ 접두사를 붙여 사용자가 작성하는 코드와 충돌하지 않도록 합니다.

var MM_ERROR_STRING = "...";

function MM_hideLayer() {

비슷한 코드 블록 방지

작성하는 코드가 다른 블록의 코드와 너무 유사하지 않도록 합니다. 코드 블록이 페이지의 다른 코드 블록과 너무 유사하면 서버 비헤이비어 패널이 실수로 첫 번째 코드 블록을 두 번째 코드 블록의 인스턴스로 식별할 수 있습니다(또는 그 반대). 간단한 해결 방법은 주석을 코드 블록에 추가하여 더 고유하게 만드는 것입니다.

서버 비헤이비어 테스트

Dreamweaver Exchange는 만드는 각 서버 비헤이비어에서 다음 테스트를 수행할 것을 권장합니다:

  • [서버 비헤이비어] 패널에서 해당 비헤이비어를 적용해 봅니다. 대화 상자가 있으면 각 필드에 유효한 데이터를 입력하고 [확인]을 클릭합니다. 비헤이비어를 적용할 때 오류가 발생하는지 확인합니다. 서버 동작에 대한 런타임 코드가 코드 검사기에 나타나는지 확인하십시오.

  • 서버 동작을 다시 적용하고 대화 상자의 각 필드에 잘못된 데이터를 입력하십시오.필드를 비워두거나, 큰 수나 음수를 사용하거나, 잘못된 문자(예: /, ?, :, * 등)를 사용하거나, 숫자 필드에 문자를 사용해 보십시오.잘못된 데이터를 처리하는 양식 유효성 검사 루틴을 작성할 수 있습니다(유효성 검사 루틴은 수동 코딩을 포함하며, 이는 이 책의 범위를 벗어남).

    페이지에 서버 동작을 성공적으로 적용한 후 다음을 확인하십시오:

  • 서버 동작 패널을 확인하여 서버 동작의 이름이 페이지에 추가된 동작 목록에 나타나는지 확인하십시오.

  • 해당하는 경우 서버측 스크립트 아이콘이 페이지에 나타나는지 확인하십시오.일반적인 서버 측 스크립트 아이콘은 노란색의 방패 모양으로 표시됩니다. [보기] > [시각적 도구] > [보이지 않는 요소]에서 보이지 않는 요소를 활성화하여 아이콘을 확인하십시오.

  • 코드 보기([보기] > [코드])에서 잘못된 코드가 생성되지 않았는지 확인하십시오.

    또한 서버 동작이 데이터베이스 연결을 설정하는 코드를 문서에 삽입하는 경우, 문서에 삽입된 코드를 테스트할 테스트 데이터베이스를 만드십시오.다양한 데이터 세트와 다양한 크기의 데이터 세트를 생성하는 쿼리를 정의하여 연결을 확인하십시오.

    마지막으로 페이지를 서버에 업로드하고 브라우저에서 열어보십시오.페이지의 HTML 소스 코드를 확인하여 서버측 스크립트에 의해 잘못된 HTML이 생성되지 않았는지 확인하십시오.