問題原型:???? 添加頁面中有10個checkbox,用戶選中了5個后提交?????修改頁面中應顯示10個checkbox,同時應該有5個已經被選中?詳細實際問題:????為了滿足業務需要,從linux安裝盤中的comps.xml中讀取提供的服務所依賴的包??? 顯示在頁面上,根據包的類型(default,mandatory,optional)決定顯示的方法??? default默認選中,mandatory不提供選擇,optional為用戶可選??
在處理層,采用struts的form來接受,定義string [] nodeRPMs接受即可接受后存在數據庫里,然后讀出來在顯示在頁面上在修改頁面,首先應該有全部的checkbox,同時用戶選中的應該已經被打勾(這來自數據庫讀出的記錄),經過中午的查找資料才知道可以使用mutilbox解決這個問題
mutilbox會根據你讀出的值來設定?struts中的checkbox是單選的,它的值應該只有true和false或者yes no或者on off之分;r如果希望使用一組可以多選的checkbox,在struts中的頁面標簽應該是html:multibox,它的用法:<html:multibox property="strArray" value="value1">或者?????? <html:multibox property="strArray">value2</html:multibox>
真正載頁面上使用時可能是這樣:<html:multibox property="strArray">a</html:multibox><html:multibox property="strArray">b</html:multibox><html:multibox property="strArray">c</html:multibox>
當然"strArray"一定是頁面相對應的formbean中的一個屬性,并且應該是數組:private String[] strArray; //提供get set方法
這樣,如果我們在頁面上面選中了前兩個,則strArray.length=2;strArray[0]里面的值是a,strArray[1]里面的值是b;如果我們把form中的strArray設置為strArray[0]="b",strArray[1]="c",則轉到頁面之后,頁面上只有后兩項被選中所以這樣就可以解決問題了