Sun Java System Portal Server Secure Remote Access 7.2 管理指南

JavaScript EXPRESSION 變數範例

Procedure使用 JavaScript EXPRESSION 變數範例

  1. 您可自下列路徑存取此範例:

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

  2. 將此範例中指定的規則新增 (若尚不存在) 至 [重新寫入 JavaScript 來源的規則] 部分的 default_gateway_ruleset 中。

  3. 在 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 EXPRESSION Variables Test Page</title>
</head>
<body>
<script LANGUAGE="Javascript">
<!--
//Expression variables
var expvar1="images";
var expvar2="/logo.gif";
var expvar = expvar1 + expvar2;
document.write("<A HREF="+expvar+">EXPRESSION</A><P>")
var expvar="/images/logo"+".gif";
document.write("<A HREF="+expvar+">EXPRESSION</A><P>")
//-->
</SCRIPT>
Testing JavaScript EXPRESSION variables
</body>
</html>

規則

<Variable type="EXPRESSION" name="expvar"/>

重新寫入後的 HTML 網頁

<html>
<head>
<title>JavaScript EXPRESSION Variables Test Page</title>
</head>
<body>
<SCRIPT>
// Rewriter appends the wrapper function 
psSRAPRewriter_convert_expression here
</SCRIPT>
<script LANGUAGE="Javascript">
<!--
//Expression variables
var expvar1="images";
var expvar2="/logo.gif";
var expvar =psSRAPRewriter_convert_expression( expvar1 + expvar2);

// Rewriter 會將此陳述式右側識別為 JavaScript EXPRESSION 變數。Rewriter 無法在伺服器端計算出此表示式的值。因此,psSRAPRewriter_convert_expression 函數會被置於此表示式之前。此表示式將於用戶端計算,並視需要重新寫入。

document.write("<A HREF="+expvar+">EXPRESSION</A><P>")

// 將使用前一個陳述式之 expvar 的重新寫入值來計算此表示式的值。由於結果為一有效的 URL (範例中此處出現一個圖形),因此連結有效。

var expvar="gateway URL/portal-server-URL/images/logo"+".gif";

// Rewriter 會將 expvar 的右側識別為字串表示式。此表示式可於伺服端計算,因此可直接重新寫入。

document.write("<A HREF="+expvar+">EXPRESSION</A><P>")

// 將使用前一個陳述式之 expvar 的重新寫入值來計算此表示式的值。由於結果不是有效的 URL (於結果位置中未出現圖形),因此連結無效。

//-->
</SCRIPT>
Testing JavaScript EXPRESSION variables
</body>
</html>