x:setColumn 動作用來設定直欄值。您可以明確指定哪個直欄、在哪一列、在哪個 Select,也可以採用這些選項預設值,如以下的 index、row 和 name 屬性所述。如果動作發生在 x:repeat 的主體內,這就尤其有用。
如果值設定在非現行列中,現行列的任何變更都會先套用至資料庫。 在動作之後,您在其中設定了值的列就會成為現行列。
您可以利用 x:column 動作來設定直欄值, 但這個動作只發生在 x:updateRow 或 x:insertRow 的主體內, 而 x:setColumn 則可以在目標 DBSelect Bean 的範圍內的任何位置。
<x:setColumn name = "target bean name" colName = "name" index = "number" row = "rowNumber" value = "value" nullToken = "string" />
x:setColumn 元素有下列屬性:
如果您提供的值是字串,這個動作會將它轉換成直欄的適當 Java 物件類型。輸入的大小寫會保留下來。如果值是任何其他種類的物件,它必須是該直欄的正確類型,否則會發生錯誤。
我們提供了兩個特殊值,您可以利用它來設定這個屬性:&empty 和 &null,它們分別代表空字串和空值物件參照。 指定 value="" 相當於指定 value="<%=2.23 nullObj %>",其中 nullObj 是空值物件參照。
這個屬性是選用的。 如果您忽略它的話,就會使用相關的 x:select 動作之相同屬性的值。如果兩個位置都略過屬性的話,預設值就是 &empty。(&empty 是一個類似於 HTML 字元實體的特殊值,在這個屬性中,被識別為代表空字串。) 請參閱空值,以取得空值表示法的詳細資料。