【JSP/Servlet】后台如何獲取復選框或可選屬性的同名參數


感覺自己jsp/servlet部分學的太差了……今天突然想到還有這種操作,遂分享之

比如有些時候我們需要使用復選框發送同名數據的時候,后台接收參數是個麻煩事,還有可選屬性也是如此

有豐富經驗的會想到api中早就有這個方法了,我們可以使用request.getParameterValues("參數名"); 來獲取這個參數的字符串數組

比如前台表單的數據為:

<form aciton="test.action" method="post">
    I have a bike:
<input type="checkbox" name="vehicle" value="Bike" checked="checked" />
<br />
I have a car: 
<input type="checkbox" name="vehicle" value="Car" />
<br />
I have an airplane: 
<input type="checkbox" name="vehicle" value="Airplane" />
<br /><br />
<input type="submit" value="Submit" />
</form> 

接收的時候需要很多同名參數,request.getParameter("vehicle"); 已經不能滿足我們的需求了,只能接收一條,具體是第一條還是最后一條我沒有測試……翻看Java ee api 才發現還有request.getParameterValues(); 供我們使用這樣就可以這樣實現了:

import java.lang.StringBuffer;

/**
* 用的是struts2,都一樣
* 接受多個相同參數名數據……
*這里就只寫把這個前台參數接收過來轉成字符串的方法了
*/
public void receiveMsg(){
   String [] vehicles = request.getParameterValues("vehicle");
   StringBuffer buf = new StringBuffer(); 
   for(String vehicle :   vehicles){
      buf.append(vehicle);
  }
  String vehiclesString = buf.toString();
  System.out.println(vehiclesString);    
}

 

僅供參考,如有錯誤感謝批評指正


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM