struts2的checkbox傳遞布爾值出錯的問題

struts2的checkbox傳值問題。

要通過action傳遞checkbox的布爾值時(是布爾值,單個的checkbox,表示此框是否被選中的布爾值),後臺Action用一個布爾型變量接收。

在用html的標準checkbox時,傳值傳的非常糾結,無論前臺的checkbox是否被選中,在後臺接收到的值總都是true……抓狂


最後找到的解決辦法是:用struts的標籤<s:checkbox>來代替標準的<checkbox>

 <!--
			<input type="checkbox" name="isImageNews" id="isImageNews" >
			加入到圖片新聞
-->
			<s:checkbox name="isImageNews" id="isImageNews" >加入到圖片新聞</s:checkbox>
			 

<s:checkbox>傳遞的值總是布爾值。

*****************************************************************************************************


另外,還有要注意的一件事,在用eclipse自動生成set和get函數時,它對布爾型字段所生成的函數可能是不符合struts2 Action的規則的

比如對於字段 boolean isGood,它生成的函數是:

    //get
	public boolean isGood() {
		return isGood;
	}
	//set
	public void setGood(boolean isGood) {
		this.isGood = isGood;
	}
    
    
而struts2要求的樣子是:
    //get
	public boolean getIsGood() {
		return isGood;
	}
	//set
	public void setIsGood(boolean isGood) {
		this.isGood = isGood;
	}
    
只有這樣子才能被它自動識別。

我由於沒注意到這點,導致鬱悶了很久。

戒之後人!


個人學習記錄……





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章