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

在规则中使用模式匹配

您可以使用 valuePatterns 字段实现模式匹配并指定语句中需要重写的特定部分。

如果指定 valuePatterns 作为规则的一部分,将会重写紧随在匹配模式之后的所有内容。

请考虑下面的表单规则示例。

<Form source="*/source.html
" name="form1" field="visit
" [valuePatterns="0|1234|"]/>

其中

source 是显示表单的 html 页的 URL。

name 是表单的名称。

field 是表单中的字段,需要重写它的值。

valuePatterns 指示需要重写字符串中的哪个部分。将会重写 valuePatterns 后出现的所有内容(可选项,默认值是 "",指需要重写整个值)

在 valuePatterns 中指定专用字符

可以通过使用反斜杠对专用字符进行转义来指定这些字符。例如:

<Form source="*/source.html " name="form1" field=" visit" [valuePatterns="0|1234| \\;original text|changed text"]/>

在 valuePatterns 中使用通配符

您可以使用通配符星号 (*) 字符来实现重写的模式匹配。

不能在 valuePatterns 字段中仅指定一个 *。因为 * 表示与所有文本匹配,所以 valuePattern 后面没有文本。这样,重写器就没有要重写的文本。您必须将 * 与另一字符串连起来使用,例如 *abc。此时,会重写紧随在 *abc 之后的所有内容。


注 –

可在规则的任何字段中使用星号 (*) 作为通配符。不过,规则中的所有字段不能全都包含 *。如果所有字段都包含 *,则会忽略该规则。不会显示错误消息。


可以与原始语句中出现的分隔符(分号或逗号)联合使用 * 或 ** 来分隔多个字段。一个星号 (*) 匹配任何不进行重写的字段,而两个星号 (**) 匹配任何需要重写的字段。

在 valuePatterns 中使用通配符列出了 * 通配符的一些用法示例。

表 4–1 * 通配符用法示例

URL 

valuePatterns 

描述 

url1, url2, url3, url4

valuePatterns = "**, *, **, *"

由于 ** 指示了要重写的部分,因此会重写 url1url3

XYZABChttp://host1.sesta.com/dir1.html

valuePatterns = "*ABC"

仅重写 http://host1.sesta.com/dir1.html 部分。需要重写 *ABC 后的所有内容。

"0|dir1|dir2|dir3|dir4|test|url1

valuePatterns = "*|*|**|*|**|*|"

重写 dir2dir4url1。最后一个需要重写的字段不必用 ** 指出。