Sun Java System Portal Server Secure Remote Access 7.2 관리 설명서

JavaScript DHTML 변수 예제

ProcedureJavaScript DHTML 변수 예제를 사용하려면

  1. 이 예제는 다음에서 액세스할 수 있습니다.

    portal-server-URL /rewriter/JavaScript/variables/dhtml/dhtml.html

  2. 게이트웨이 서비스에서 [도메인 및 하위 도메인의 프록시] 목록에 abc.sesta.com이 정의되어 있어야 합니다. 정의되어 있지 않으면 직접 연결이 가정되고 게이트웨이 URL이 앞에 덧붙지 않습니다.

  3. 이 예제에 지정된 규칙을 "JavaScript 소스 재작성을 위한 규칙" 부분의 default_gateway_ruleset에 추가하십시오(아직 없는 경우). Portal Server 관리 콘솔에 있는 Portal Server 구성의 Rewriter 서비스에서 default_gateway_ruleset을 편집합니다.

  4. 규칙을 추가한 경우 게이트웨이를 다시 시작합니다.


    ./psadmin start-sra-instance –u amadmin – f  <password file> –N <profile name>– t  <gateway>
    

재작성 전의 HTML 페이지

<html>
<head>
<title>JavaScript DHTML Variable Test Page</title>
</head>
<body>
<script LANGUAGE="Javascript">
<!--
//DHTML Var
var dhtmlVar="<a href=../../images/test.html>"
var dhtmlVar="<a href=/../images/test.html>"
var dhtmlVar="<a href=/images/test.html>"
var dhtmlVar="<a href=images/test.html>"
var dhtmlVar="<a href=http://abc.sesta.com/images/test.html>"
var dhtmlVar="<img src=http://abc.sesta.com/images/test.html>"
//-->
</SCRIPT>
<br><br>
Testing DHTML Variables
<br><br>
<img src="images/logo.gif">IMAGE
</body>
</html>

규칙

<Variable name="DHTML">dhtmlVar</Variable>

재작성 후의 HTML 페이지

<html>
<head>
<title>JavaScript DHTML Variable Test Page</title>
</head>
<body>
<script LANGUAGE="Javascript">
<!--
//DHTML Var
var dhtmlVar="<a href=gateway-URL/portal-server-URL
/rewriter/JavaScript/images/test.html>"

// JavaScript DHTML 규칙이 dhtmlVar 오른쪽을 동적 HTML 컨텐트로 인식합니다. 따라서 default_gateway_ruleset 파일의 HTML 규칙이 적용됩니다. 동적 HTML에는 href 속성이 들어 있습니다. default_gateway_ruleset<Attribute name="href"/>의 규칙을 정의합니다. 따라서 href 속성의 값이 다시 작성됩니다. 하지만 URL은 절대 경로가 아닙니다. 따라서 상대 URL은 페이지의 기본 URL과 필요한 하위 디렉토리로 대체됩니다. 여기에 다시 접두어로 게이트웨이 URL이 사용되어 최종적으로 다시 작성된 결과가 유도됩니다.

var dhtmlVar="<a href=gateway-URL
/portal-server-URL/../images/test.html>"

// 페이지의 기본 URL이 추가되고 게이트웨이 URL이 앞에 덧붙여지지만 결과적인 URL은 올바로 작동하지 않습니다. 초기 URL /../images/test.html이 부정확하기 때문입니다.

var dhtmlVar="<a href=gateway-URL
/portal-server-URL/images/test.html>"

// 여기서 다시 JavaScript DHTML 규칙은 오른쪽을 동적 HTML 컨텐트로 인식하고 이를 HTML 규칙으로 전달합니다. default_gateway_ruleset의 HTML 규칙 <Attribute name="href"/>가 적용되며 명령문이 다음과 같이 다시 작성됩니다. Portal Server URL과 게이트웨이 URL이 접두어로 사용됩니다.

var dhtmlVar="<a href=gateway URL/portal-server-URL/
rewriter/JavaScript/variables/dhtml/images/test.html>"
var dhtmlVar="<a href=gateway URL/http://abc.sesta.com/images/test.html>"
var dhtmlVar="<img src=gateway-URL/
http://abc.sesta.com/images/test.html>"

// JavaScript DHTML 규칙은 오른쪽의 동적 HTML 컨텐트를 확인하고 문구를 HTML 규칙으로 전달합니다. default_gateway_ruleset<Attribute name="src"/> 규칙이 적용됩니다. URL이 절대 경로이기 때문에 접두어로 게이트웨이 URL만 사용하면 됩니다. 이 URL을 다시 작성하려면 [도메인 및 하위 도메인의 프록시] 목록에 abc.sesta.com이 정의되어 있어야 합니다.

//-->
</SCRIPT>
<br><br>
Testing DHTML Variables
<br><br>
<img src="gateway-URL/portal-server-URL/
rewriter/JavaScript/variables/dhtml/images/logo.gif">

// <Attribute name="src"/>라는 규칙이 default_gateway_ruleset에 정의되었기 때문에 이 행은 다시 작성됩니다.

<br><br>
Image
</body>
</html>