格式
定義變量:
變量的字符串級別最高,如果遇到相同的字符串,首先被認為是變量。顯示$,需要后面在跟一個,$$。例如:
變量名稱規則:
1、變量名是由US-ASCII碼、下劃線和數字組成;
2、只能以US-ASCII碼開頭;
3、變量名大小寫敏感。
注意:
1、WML變量沒有類型,均表示為字符串;
2、變量沒有被賦值的時候,內容為空,即空字符串。
3、可以在運行過程中改變它的值。
創建變量
最簡單的方法是使用<setvar>元素,語法如下:
<setvar>只能在<go>、<prev>和<refresh>中使用。
下例定義了一個叫vNAME的變量并賦值為“Jeff”:
另外,還可以在<input>、<select>和<postfield>中定義變量。
替換文本
變量可以用作替換用途,但只能在文本類型(如顯示字符、URL等)中使用。
任何元素和屬性都不能使用變量來替代。例如:
將顯示:
ESCAPE轉換
前面說過變量可以用作替換用途,但是在URL中使用時,變量的內容必須遵守[RFC2396]標準。
這個標準規定某些特殊字符在URL里使用的時候必須用特殊表示方法,即ESCAPE八進制表示。
例如:
所以變量有可能需要標志為是否對其內容進行ESCAPE轉換,變量定義就有如下幾種特殊方式:
給變量進行ESCAPE轉換是WML的默認方式。
定義變量:
$identifier $(identifier) $(identifier:conversion) |
變量的字符串級別最高,如果遇到相同的字符串,首先被認為是變量。顯示$,需要后面在跟一個,$$。例如:
You account has $$1650.00 in it. |
變量名稱規則:
1、變量名是由US-ASCII碼、下劃線和數字組成;
2、只能以US-ASCII碼開頭;
3、變量名大小寫敏感。
注意:
1、WML變量沒有類型,均表示為字符串;
2、變量沒有被賦值的時候,內容為空,即空字符串。
3、可以在運行過程中改變它的值。
創建變量
最簡單的方法是使用<setvar>元素,語法如下:
<setvar name="string" value="string" /> |
<setvar>只能在<go>、<prev>和<refresh>中使用。
下例定義了一個叫vNAME的變量并賦值為“Jeff”:
<setvar name="vNAME" value="Jeff" /> |
另外,還可以在<input>、<select>和<postfield>中定義變量。
替換文本
變量可以用作替換用途,但只能在文本類型(如顯示字符、URL等)中使用。
任何元素和屬性都不能使用變量來替代。例如:
Hello, $vNAME. |
Hello, Jeff. |
ESCAPE轉換
前面說過變量可以用作替換用途,但是在URL中使用時,變量的內容必須遵守[RFC2396]標準。
這個標準規定某些特殊字符在URL里使用的時候必須用特殊表示方法,即ESCAPE八進制表示。
例如:
list.asp?id=3 |
在URL中要表示為:
list.asp%3fid=3 |
所以變量有可能需要標志為是否對其內容進行ESCAPE轉換,變量定義就有如下幾種特殊方式:
效果 | 表達方式1 | 表達方式2 | 表達方式3 |
對變量中ESCAPE字符進行轉換 | $(var:e) | $(var:E) | $(var:escape) |
不進行ESCAPE轉換 | $(var:u) | $(var:U) | $(var:unesc) |
變量中沒有ESCAPE字符 | $(var:n) | $(var:N) |
$(noesc) |
給變量進行ESCAPE轉換是WML的默認方式。