프로그래밍 언어를 잘 배우는 데 필수적인 두 가지 조건이 있습니다. 이론은 실용적인 루틴을 통해 책의 이론을 확인하는 것입니다. . 경험이나 수업으로서의 경험과 경험을 적어두고 향후 응용 프로그램에서 그것을 개선 하여이 프로그래밍 언어에 대한 이해를 확실히 향상시킬 것입니다. 다음은 ASP 프로그래밍 학습과 사용에 대한 두 가지 경험이므로 모든 사람에게 도움이되기를 바랍니다.
ASP 페이지에서 vbscript와 jscript 간의 상호 작용
ASP는 다양한 언어로 스크립팅 프로그램을 관리 할 수 있으며 스크립트 코드를 해석하고 내장 기능을 실행하기 위해 적절한 스크립팅 엔진을 자동으로 호출 할 수 있습니다. ASP 개발 환경은 두 개의 스크립팅 엔진, 즉 vbscript (기본값) 및 JScript를 제공합니다. 그러나 개발자는이 두 언어 만 사용하는 것으로 제한되지 않으며 적절한 ActiveX 스크립팅 엔진을 제공 할 수있는 한 스크립팅 언어를 사용할 수 있습니다.
스크립팅 언어의 선택은 종종 여러 가지 이유를 기반으로합니다. 아마도 개발자가 가장 친숙한 언어 일 것입니다. 아마도 주어진 프로젝트에 대한 가장 중요한 지원을 제공하는 언어이거나 가장 효율적인 것일 수도 있습니다. 다양한 환경과 요구 사항으로 인해 스크립팅 언어를 선택할 때 다양한 요인에주의를 기울이고, 어느 시점에서 선택한 스크립팅 언어가 다른 언어로 직접 기능을 제공 할 수 없거나 스크립트가 작성되었지만 다른 스크립팅 언어를 사용한다는 문제에 직면 해 있습니다.
지금 무엇을해야합니까? 이 스크립트를 현재 스크립트 언어로 다시 작성해야합니까? 아니면 한 스크립팅 언어로 다른 스크립팅 언어의 내장 기능을 호출 할 수 있습니까? 이 기사에서 설명하려는 것은 ASP 응용 프로그램에서 VBScript 스크립트 및 JScript 스크립트와 상호 작용하는 방법으로 두 스크립팅 언어의 특별한 지원을 극대화하는 것입니다.
1. vbscript 및 jscript의 내장 함수
vbscript 및 jscript에는 동일하거나 유사한 많은 내장 기능이 있습니다. 그러나 하나의 스크립팅 언어로 내장 된 기능이 항상 다른 스크립팅 언어에 해당 기능을 갖는 것은 아닙니다. 예를 들어, vbscript는 JScript에 존재하지 않는 문자열 및 서식 데이터를 조작하기위한 많은 기능을 제공합니다. 이러한 기능에는 strreverse (), filter (), formatcurrency () 등이 포함됩니다. 반면, 배열, 문자열 인코딩 등을 관리하기 위해 jscript에서 제공하는 함수는 join (), reverse (), bit operations, excap () 및 unescape ()와 같은 vbscript에서 정의되지 않습니다. 기다리다.
그렇다면 jscript 프로그램에서 vbscript 함수가 필요한 경우 어떻게해야합니까?
2. 이종 스크립트의 상호 호출
jscript 스크립트에서 내장 된 vbscript 함수를 호출 해야하는 경우 VBScript 사용자 정의 함수 (VBScript 내장 함수라고 함)를 작성한 다음 전화와 같은 jscript 스크립트 에서이 사용자 정의 기능을 호출해야합니다. 공개 jscript 기능.
예를 들어, 호출 될 vbscript 내장 함수가 FormatCurrency () 인 경우 다음과 같은 사용자 정의 기능을 선언 할 수 있습니다.
<script language = vbscript runat = server>
함수 형식 값 (값)
formatValue = FormatCurrency (값)
엔드 기능
< /스크립트>
다음으로 jscript 코드에서는 일반적인 jscript 함수와 같은 FormatValue ()를 호출 할 수 있습니다. vbscript 코드 호출 JScript 함수는 유사한 방법을 사용하여 구현할 수도 있습니다.
동일한 규칙을 적용하면 모든 스크립트 내에서 사용자 정의 기능을 호출 할 수 있습니다. 그러나 jscript 스크립트의 매개 변수가없는 VBScript 프로 시저 (SUB)를 호출 할 때는 FOO를 사용하여 vbscript 서브를 호출하는 것과 같은 jscript 기능을 호출해야합니다. ) foo 프로세스.
3. 데이터 공유
어떤 경우에는 vbscript 및 jscript 함수를 혼합하는 것이 매우 유용하지만 다른 언어로 스크립트간에 데이터를 공유하는 것이 유용 할 수도 있습니다. 이 공유를 구현하는 방법은 간단합니다. 어떤 언어를 사용하든 페이지 수준에서 선언 된 변수를 임의로 참조 할 수 있습니다.
객체의 사용 방법도 비슷합니다. 적절한 언어를 사용하여 속성을 수정하거나 호출 할 수 있습니다. 물론, 주어진 객체의 속성과 방법은 해당 객체의 인스턴스를 만든 언어로 정의됩니다. 위의 예제에서와 같이 VBScript 프로 시저 호출과 마찬가지로, 매개 변수가없는 vbscript 오브젝트의 메소드가 JScript에서 호출되면 호출 방법은 JScript 호출 규칙을 따르고 그 반대도 마찬가지입니다.
IV. 배열 관리
배열 공유 문제는 조금 더 복잡합니다. 어레이는 다른 변수와 마찬가지로 다른 언어의 스크립트간에 공유 할 수 있지만 호환성 문제에주의를 기울여야합니다.
VBScript 배열은 JSCRIP의 VBScript 기호로 참조 할 수 있습니다. 즉, MyArray [2]를 참조하는 JScript의 배열 요소 대신 MyArray (2)가있는 배열 요소를 참조하십시오. 또한 특수 jscript 객체 - vbarray 객체를 사용하여 vbscript 배열을 jscript 배열로 변환 할 수도 있습니다. 다음 코드는 vbscript 배열 myvbarray에서 jscript 배열 myjsarray를 만듭니다.
var temp = 새로운 vbarray (myvbarray)
var myjsarray
myjsarray = temp.toArray ()
위의 코드는 먼저 임시 vbarray 객체를 생성 한 다음 ToArray () 메소드를 사용하여 JScript 배열로 자체 변환합니다. 그 후 MyJSarray는 MyJSarray [1]와 같은 일반적인 JScript 배열처럼 사용할 수 있습니다. 그러나 ToArray () 메소드는 다차원 vbarray를 1 차원 JScript 배열로 변환 할 것입니다.
vbscript에서 JScript 배열을 참조하는 것이 더 복잡합니다. vbscript에서는 JScript 배열과 관련된 메소드 및 속성에 직접 액세스 할 수 있지만 JScript 배열의 단일 요소에 직접 액세스 할 수있는 방법은 없습니다. 즉, 다음과 같이 vbscript 스크립트에서 jscript 배열의 길이 속성을 읽을 수 있습니다.
x = myjsarray.length
그러나 배열의 단일 요소는 직접 읽을 수 없으며 다음 vbscript 코드는 올바르지 않습니다.
x = myjsarray (3)
이 문제를 해결할 수있는 가능한 방법은 다음 코드와 같이 변환 프로세스를 수행하는 것입니다. 여기서 vbscript는 기본 스크립팅 언어라고 가정합니다.
< %
희미한 온도
희미한 myvbarray
temp = myjsarray.join (,)
myvbarray = split (temp ,,)
%>
여기서 jscript join () 메소드는 배열 myjsarray 요소를 스플리터로 쉼표로 문자열로 변환하고 vbscript split () 함수는 문자열을 vbscript 배열로 변환합니다. VBScript 환경에서 JSCRIP의 조인 메소드를 호출하고 있습니다. 이 예에 따르면, 우리는 사용자 정의 vbscript 함수를 통해 jscript의 vbarray 객체의 toArray () 메소드를 시뮬레이션하여 jscript 배열을 vbscript 배열로 변환하는 것을 구현할 수 있습니다.
템플릿으로 동적 ASP 페이지를 만듭니다
템플릿과 관련하여 모든 사람들이 단어로 몇 가지 개념을 가질 수 있다고 생각합니다. 이것은 아마도 템플릿의 의미 일 것입니다. 실제로 DreamWeaver에는 템플릿 기능이 있지만 정적은 컨텐츠를 수동으로 만 채울 수 있으며 여기에는 동적 자동 컨텐츠 충전에 관한 것입니다.
먼저 템플릿 파일이 사용되는 이유를 설명하겠습니다. 때로는 템플릿이 웹 페이지 기능과 레이아웃의보다 완전한 개념을 제공 할 수 있습니다. Word의 템플릿 형식을 보면 최종 레이아웃이 어떻게 보이는지 알 수 있으며 여기에서도 마찬가지입니다. 예를 들어, ASP 문을 유지하고 다른 템플릿을 사용하여 다른 페이지 스타일을 만들 수 있습니다. 이런 식으로, 각기 다른 스타일의 웹 페이지에 대해 다른 ASP 페이지를 작성할 필요는 없으므로 많은 시간과 에너지를 절약 할 수 있습니다. 또한 템플릿 파일을 사용하면 페이지 코드를 더 쉽게 찾아 볼 수 있으며 ASP와 HTML의 혼합에 대해 걱정할 필요가 없습니다. ASP에 대해 전혀 걱정할 필요없이 HTML에 집중할 수 있습니다. 또 다른 것은 터치 패드가 매우 간단하고 빠르게 이해할 것입니다. 이 기사에서는 널리 사용되는 직원 테이블 인 데이터베이스가 사용됩니다. 직원 신분증, 이름, 사진, 작업 요약 및 사진의 각주가 포함되어 있습니다. 이 액세스 데이터베이스의 구조는 다음과 같습니다.
파일 이름 -MyDatabase.mdb
테이블 이름 - 직원
ID
자동 카운팅 (Autonumber)
풀 이름
텍스트 - 최대 100 자
picurl
텍스트 - 최대 255 자
직장
주석 유형
piccaption
텍스트 - 최대 50 자
매우 간단한 데이터베이스? 물론 필요에 따라 확장 할 수 있으며 이것이 바로 자신의 사업입니다. 나는 당신이 이미 데이터베이스의 기본 작업을 이해하고 있다고 가정하므로, 여기에 너무 많은 노력을 기울일 필요가 없습니다. 데이터베이스를 설정 한 후 템플릿 파일 생성을 시작할 수 있습니다. 이 파일은 각 페이지의 골격입니다. 나는 양식을 사용하지 않았고, 그것은 약간 번거로움이었고, 게으르고 :-) ASP 페이지에 추가해야 할 내용이기 때문에 태그를 추가하지 마십시오. 결국, 그것은 다음과 같습니다.
전체 이름 :
% name% <br> 의무 설명 :
%직장%
이 사진은 촬영되었습니다 : %날짜 %
직원 ID : %empid %
그게 다야! 이것은 간단한 템플릿입니다. template.tmp로 저장하고 다음의 ASP 페이지에 참조합니다. 템플릿에 다양한 HTML 태그를 추가 할 수 있습니다. 실제로 웹 페이지를 작성하는 것과 마찬가지로 핵심 포인트를 표시하는 것과 마찬가지로 웹 페이지의 구조와 스타일을 완전히 정의 할 수 있습니다. 비율을 둘러싸고 있습니까? 그것이 템플릿의 본질입니다. 아마도 그 %가 데이터베이스의 필드의 의미에 해당하는 것으로 둘러싸여 있음을 알았을 것입니다. 아래의 ASP 코드를보고 템플릿 및 데이터베이스 파일을 읽고 반죽 한 다음 원하는 HTML 페이지를 출력하는 방법을 살펴보십시오.
그게 모든 코드입니다. 매우 간단하지 않습니까? 템플릿 파일을 열고 각 줄을 순서대로 읽은 다음 템플릿의 % IMG % 및 % 이름 % 태그를 데이터베이스에서 읽은 실제 필드 값으로 바꾸는 것입니다. 더욱
전체 레이아웃 형식을 방해하지 않도록. 어때? 쉽게 할 수 있습니다. 템플릿은 실제로 일부 응용 프로그램에서 기적적인 역할을 수행하여 시간과 노력을 절약 할 수 있습니다. 이론적으로는이 코드를 수정하고 FileSystemObject를 사용하여 데이터를 데이터베이스에 저장할 필요가 없도록 텍스트를 읽고 씁니다. Instant News Releases와 같은 일부 응용 프로그램에서는 더 편리 할 수 있습니다.