解析:
请求参数以“键-值”对的形式呈现。做单选时,需要传递这个单选值,可以将单选框的名字以及这个单选值以“键-值”对形式递。也有一些应用场合,是完成多选,需要传递多个选择的值,可以将这个多选框的名字以及这多个“选择”的值以特殊的键值对形式传递。
案例1:
select多项下拉选择框。如果运行时选中了“00001”和“00002”,则传递的请求参数为:
http://localhost:8080/pro-presentation/temp.jsp?teachers=Jake&teachers=Jack
源码:
当前页面:temp.jsp
<form action="" >
请选择你喜爱的英语老师:<br>
<select name="teachers" multiple="multiple">
<option>Mike</option>
<option>Jake</option>
<option>Jack</option>
<option>Rose</option>
<option>Mary</option>
</select>
<br><input type="submit" value="提交">
</form>
案例2:
多项选择框。如果运行时选中了“菠萝”和“龙眼”,则传递的请求参数为:
http://localhost:8080/pro-presentation/temp.jsp?choice=pineapple&choice=longan
当前页面:temp.jsp
你最喜欢的水果是:
<form action="">
<input type="checkbox"name = "choice" value="pineapple">菠萝<br>
<input type="checkbox"name = "choice" value="pear">梨<br>
<input type="checkbox"name = "choice" value="apple">苹果<br>
<input type="checkbox"name = "choice" value="longan">龙眼<br>
<input type= "submit"value = "提交">
</form>
request获得特殊的请求参数
使用request对象的方法:getParameterValues.
表1 request的getParameterValues方法
| 方法 | 描述 |
| String[] getParameterValues(String name) | 当 request 对象中存储的“键值对”属于 :一个键对应多个值的情况时,使用方法 getParameterValues 可以得到存储这些“多个值” 的数组 |
修改后的案例1:
<form action="" >
请选择你喜爱的英语老师:<br>
<select name="teachers" multiple="multiple">
<option>Mike</option>
<option>Jake</option>
<option>Jack</option>
<option>Rose</option>
<option>Mary</option>
</select>
<br><input type="submit" value="提交">
</form>
<%
if (request.getParameterValues("teachers")!=null){
String[] teachers= request.getParameterValues("teachers") ;
%>
<%
for(int i=0;i<teachers.length;i++){
%>
你喜爱的英语老师有:<%=teachers[i] %>
<%}} %>
将在页面上显示用户所作的选择。
本页面内容全部由作者姚远原创,请使用者写明出处后再行使用。

