Eclipse從後臺controller傳值接收值的key值的大小寫問題

最近碰到一個很奇怪的情況,是一個從後臺明明有傳過來值,但是前臺就是收不到。
後臺:

	 @RequestMapping(value = "/SwitchList")
	 @ResponseBody
	 public ArrayList<NetEntity> apply_SwitchList(){
		 logger.info("獲取交換機信息");
		 return NetService.getSwitchList();
	 }

前臺:

	        		$.ajax({
	        			url:'/net/SwitchList',
	        			type:'POST',
	        			success:function(data){
	         				$("#RZJHJ").empty();
	        			  $("#RZJHJ").prepend("<option value=''>請選擇一個交換機</option>");//添加第一個option值
	        		    for (var i = 0; i < data.length; i++) {
	        					if(data[i].ipaddr!=null&&data[i].ipaddr!=""){
	        						$("#RZJHJ").append("<option value='"+data[i].ipaddr+"'>"+data[i].ipaddr+"</option>");
	        					}
	        		  		} 
	        			}
	        		})

其中這個entity中相關部分的定義是這樣的:

    private String ipaddr;
           public String getIpAddr() {
           return ipaddr;
       }
       public void setIpAddr(String ipaddr) {
           this.ipaddr = ipaddr;
       }

前臺就是收不到ipaddr的值。
通過瀏覽器的F12查看,發現問題所在,傳值的key值是ipAddr,不應該哈,我定義的變量明明是ipaddr,爲什麼傳值的時候就變了?
可能改變key值內容的,只有一個地方,就是setIpAddr()和getIpAddr(),這兩個函數。
於是我把這兩個函數改成setIpaddr()和getIpaddr()。果然,傳值用的key值就變成了ipaddr了。
所以,由此可見,set和get的函數名,要遵循的規則還是比較嚴格的。我目前碰見的有4點
1、函數變量的定義不能使用group等在sql語句中有特殊定義的字符。
2、set和get後緊跟的那個字母會自動變成小寫。
3、set和get函數之後首字母變成小寫後,後面組成的字符串就是傳值用的key值,區分大小寫。
4、因爲變量的首字母會自動變成小寫,因此意味着變量的首字母必須是小寫。

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