格式
定義變量:
$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等)中使用。
任何元素和屬性都不能使用變量來替代。例如:
將顯示:
ESCAPE轉換
前面說過變量可以用作替換用途,但是在URL中使用時,變量的內容必須遵守[RFC2396]標準。
這個標準規定某些特殊字符在URL里使用的時候必須用特殊表示方法,即ESCAPE八進制表示。
例如:
在URL中要表示為:
所以變量有可能需要標志為是否對其內容進行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的默認方式。