感覺自己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); }
僅供參考,如有錯誤感謝批評指正