空值

在 Java™ 中,您可以區分其值為空值的字串變數與其值為空字串的字串變數。同樣地,在關聯式資料庫中,您可以區分其值為空值的直欄或參數與其值為空字串的直欄或參數。不過,在 HTML 頁面中,當查看輸出或在表單中輸入資料時,並沒有任何定義好的通用機制可供區分空值與空字串。

為了協助您處理這個問題,JSP SQL 標示提供了一個 nullToken 屬性,供您指定代表直欄及參數的空值之字串。 這個字串代表直欄或參數值被擷取及寫入 JSP 輸出時的空值,以及 JSP 中設定了直欄或參數值時的空值。

如果您在 x:selectx:modifyx:procedureCall 動作中指定了 nullToken 屬性, 當您取得和設定該物件的任何直欄和參數時,它就是預設值。您也可以置換每個動作中用來取得或設定直欄或參數的屬性。如果取得或設定值的物件或動作層次沒有指定屬性,預設值就是使用空字串來代表空值。

基於 WebSphere® 處理 JSP 檔的方式,指定 nullToken="" 與省略 nullToken 屬性並採用預設值沒有什麼不同。 同樣地,指定 value="" 與省略這個屬性(沒有預設值)也沒有不同。由於您必須能夠指定空字串作為直欄或參數值或作為所需要的空值記號,因此,我們提供了 &empty 這個特殊值來代表這些屬性中的空字串。 我們也提供了 &null 這個特殊值來代表空值物件參照。這些特殊值類似於 HTML 中的字元實體,可讓您指定不容易或不可能以其他方式來表示的值。

如果您指定 nullToken="&null",就會將空值表示為空值物件參照。 當空值物件參照傳遞給 WebSphere 3.5 的 JSP 輸出撰寫器時,它會將 "null" 字元寫到 JSP 輸出中。(在某些較早的版本中,它會寫入空字串。) 之後,如果您將 "null" 字元傳回作為直欄或參數的值,就會在資料庫中將它設為 "null" 字元,而不是空值。 您必須利用 scriptlet 來傳遞實際的空值物件參照,才能在資料庫中設定空值。 由於完成這項來回作業所需要增加的工作,您很可能會想將 nullToken 指定為 &empty 或 "null" 字元。

下列動作有 nullToken 屬性:x:selectx:modifyx:procedureCallx:getColumnx:setColumnx:columnx:getParameterx:parameter

讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.