0

如何在jsp中显示下面的选定选项

<td width="75%" valign="center">
   Start Date : &nbsp;
   <input id="startDate" name="startDate" id = "startDate" type="text" size="20"><a href="javascript:NewCal('startDate','ddmmyyyy')"><img src="$
   Start Time :&nbsp;&nbsp;
   <select name="startTime" id = "startTime">
        <option value="0">10:00</option>
        <option value="1">11:00</option>
        <option value="2">12:00</option>
        <option value="3">13:00</option>
        <option value="4">14:00</option>
        <option value="5">15:00</option>
        <option value="6">16:00</option>
        <option value="7">17:00</option>
        <option value="8">18:00</option>
        <option value="9">19:00</option>
        <option value="10">20:00</option>
        <option value="11">21:00</option>
   </select>
</td>

我认为request.getParameterValues这将是有价值的,但它只显示类似的东西,value="something"但不显示两个options标签之间的价值。有任何想法吗?提前致谢

4

1 回答 1

2

最好的方法是使用EL(表达式语言)。请求参数可用作 EL 中的隐式对象。${param.startTime}等于request.getParameter("startTime")

如果您需要选项的文本而不是值,最好创建一个ArrayListStrings用于生成下拉列表和查找值的文本:

List<String> startTimeList = new ArrayList<String>();
startTimeList.add("10:00");
startTimeList.add("11:00");
request.setAttribute("startTimeList", startTimeList);

您可以使用JSTL ( c:forEach) 生成列表,使用索引(请参阅varStatus属性)作为您的选项value

<c:forEach items="${startTimeList}" var="startTime" varStatus="status">
  <option value="${status.index}">${startTime}</option>
</c:forEach>

然后,您可以使用value(index) 从列表中获取项目:${startTimeList[param.startTime]}.

于 2012-10-25T08:02:27.110 回答