在Struts中幾種情況可以使標簽初始 " /> 亚洲免费不卡,国产精品一区二区三区av,国产目拍亚洲精品99久久精品

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Struts html:checkbox框初始默認是選中的解決方法

在使用struts標簽html:checkbox 的時候,如何讓checkbox框默認是選中的,一般情況下都是當Formbean里面該Property的值和標簽上value給定的值相等的時候,生成的jsp頁面上才是選中的。

在Struts中幾種情況可以使標簽初始就是選中的,Formbean里面該Property的值設為 1.on 、2.yes 、3.true 這三種情況都是可以實現默認選中的。

:如果不選中,最好把Property的設置為"",因為在Action中得到Property是為null值,在不太注意的情況,它是會出現異常。
復制代碼 代碼如下:
public class CheckBoxForm extends ActionForm {
// private String id = "";
private String id = "on";
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}


jsp頁面
復制代碼 代碼如下:
<html:checkbox property="id">CheckBox</html:checkbox>

如同:<input type="checkbox" name="id" checked="checked">CheckBox</input> or <input type="checkbox" name="id">CheckBox</input>
具體業務在Action里去作處理,"".equals(actionForm.getId()) or "on".equals(actionForm.getId()) 一個是判斷沒有選中,一個是判斷選中,如果在ActionForm里沒有設置property,那就要用null去作判斷。

1)需求
當通過菜單進入頁面時,頁面中的checkbox處于被選中狀態,頁面提交后forward回本頁,對應的checkbox保持提交時的狀態,也就是說:如果提交時checkbox是選中狀態回來仍然是選中狀態;如果用戶在提交前將checkbox的勾去掉,回來時checkbox應該為為選中狀態。

2)問題
這個需求看起來很簡單,只需要
1)在對應的form中將checkbox對應的屬性設為true就行了:
private boolean syaken = true;
2)在對應的jsp中使用html:checkbox標簽就行了
<html:checkbox property="syaken"/>
但問題是checkbox標簽不會去set初始化值為true的checkbox屬性,不賦初值時Struts默認賦為false;
從網上找資料有人說可以實現ActionFrom的reset()方法將對應的屬性值設為false,但reset方法是在form實例化以后被調用的,也就是說你初始化的值true將被重置為false,這和直接將屬性值設為false沒有任何區別,這樣做的結果是你從菜單進入頁面時checkbox是處于不被選中的狀態。
他們之間存在著矛盾,問題的關鍵就是每次提交時,Struts并沒有去重新設置所有checkbox的屬性值,而是有選擇地(初始化值為false)地進行重新設置。

3)解決辦法
超級簡單,在checkbox后面添加一個和checkbox的屬性同名并且value為“false”的隱藏輸入框,強迫Struts去重新設置checkbox的屬性值:
<html:checkbox property="syaken"/> 
<input type="hidden" name="syaken" value="false">

jsp技術Struts html:checkbox框初始默認是選中的解決方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 科技| 屯留县| 玉山县| 民县| 怀宁县| 遵义县| 南溪县| 阜阳市| 武穴市| 香格里拉县| 富裕县| 顺义区| 南阳市| 阳泉市| 乌什县| 镇原县| 乳山市| 涪陵区| 天祝| 章丘市| 老河口市| 巨鹿县| 大洼县| 双柏县| 美姑县| 都匀市| 日土县| 邮箱| 琼中| 宜川县| 儋州市| 信宜市| 海兴县| 黄冈市| 琼结县| 长岭县| 香格里拉县| 六安市| 图木舒克市| 都兰县| 庆云县|