Struts中html options的使用

2021-04-07 05:54:32 字數 3317 閱讀 1891

html:options是struts中比較複雜的乙個tage lib,用法靈活,但是sturts提供的原始碼exercise taglib中沒有提出常用jsp+actionform這樣形式的最直接的總結,現從中總結如下,分兩種情況:陣列和collection。

需求,要達到:

"beancollectionselect"

multiple=

"multiple"

size=

"10"

>"value 0"

>label 0

"value 1"

selected=

"selected"

>label 1

"value 2"

>label 2

"value 3"

selected=

"selected"

>label 3

"value 4"

>label 4

"value 5"

selected=

"selected"

>label 5

"value 6"

>label 6

"value 7"

>label 7

"value 8"

>label 8

"value 9"

>label 9

"label 0"

, "value 0"

));entries.add(new labelvaluebean(

"label 1"

, "value 1"

));entries.add(new labelvaluebean(

"label 2"

, "value 2"

));entries.add(new labelvaluebean(

"label 3"

, "value 3"

));entries.add(new labelvaluebean(

"label 4"

, "value 4"

));entries.add(new labelvaluebean(

"label 5"

, "value 5"

));entries.add(new labelvaluebean(

"label 6"

, "value 6"

));entries.add(new labelvaluebean(

"label 7"

, "value 7"

));entries.add(new labelvaluebean(

"label 8"

, "value 8"

));entries.add(new labelvaluebean(

"label 9"

, "value 9"

));然後執行setbeancollection(entries);

這樣actionform中的beancollection算有值了。

第二小步,需要設定selected,selected有兩種,單選和多選:

在actionform中必須有:

private string singleselect =

"single 5"

;public string getsingleselect()

public

void setsingleselect(string singleselect)

或多選,多選必須是陣列:

private string beancollectionselect = ;

public string getbeancollectionselect()

public

void setbeancollectionselect(string beancollectionselect)

第二:在jsp中寫入tang lib語句如下:

"beancollectionselect"

size=

"10"

multiple=

"true"

>

"testbean"

property=

"beancollection"

/>

其中testbean是actionform的名稱。

以上是html:options的collection解決方案,如果option值很少,簡單地可以實現為陣列,兩步:

第一:在actionform中,

private string values =

;private string labels =

;private string selected =

"magazine"

;public string getselected()

public

void setselected(string selected)

public string getvalues()

public

void setvalues(string values)

public string getlabels()

public

void setlabels(string labels)

第二步在jsp中:

"selected"

>

"testbean"

property=

"values"

labelproperty=

"label"

/>

要實現上述效果,需要兩步:

第一:設定actionform,

也分兩小步:第一小步必須在actionform中,有一句

private collection beancollection;

public collection getbeancollection();

collection beancollection要確保是乙個實現,如arraylist,如果不是則會報no collection found的錯誤,struts的最大不方便就是一旦出問題,定位很難,不知道什麼地方使用錯誤,或忘記設定什麼了。

因為前面需求中option的value值和label值不一樣,那麼在beancollection中儲存的就是乙個value和label組成的物件,名為labelvaluebean,在labelvaluebean中有兩個屬性value和label,

在程式某個地方要為beancollection賦值,如:

vector entries =

new vector(10);

entries.add(

new labelvaluebean(

Struts中的用法

訪問map中所有的key 訪問map中所有的values 訪問map的大小 投影取到list中滿足條件的開頭的乙個元素的密碼 取到list中滿足條件的最後的乙個元素的密碼 從棧頂開始取一直取到指定的位置0表示棧底 value attrname value obj.attrname value obj...

Struts 中 html options 的使用

html options是struts中比較複雜的乙個tage lib,用法靈活,但是sturts提供的原始碼exercise taglib中沒有提出常用jsp actionform這樣形式的最直接的總結,現從中總結如下,分兩種情況 陣列和collection。需求,要達到 label 0 labe...

Struts 心得 持續更新中

messageresources 的使用 在action類中定義了getresources httpservletrequest request 方法,該方法返回當前預設的messageresources 物件,它封裝了resource bundle中的文字內容。接下來action類就可以通過mes...