1
我使用JSP中的以下代码将数据库中的生日月存储为值。使用JSTL填充选择标签中的选定项目?
- 我:在JSP
<select name="birthday_month" id="birthday_month"> <option value="-1">Month</option> <option value="1">Jan</option> <option value="2">Feb</option> ... </select>
输出代码中使用,我使用JSTL(这是不正确的)
<select name="birthday_month" id="birthday_month"> <c:forEach var="value" items="${birthdaymonth}"> <option value="${birthdaymonth}">${birthdaymonth}</option> <option value="1">Jan</option> <option value="2">Feb</option> ... </c:forEach> </select>
What I am getting from this code is value like 1 or 2 in select tag
其他信息,以显示对先前所选项目存储生日月份的值为1,2,3 ..对于Jan,Feb,Mar ...在数据库中
- 我使用
request.setAttribute("birthdaymonth", user.getBirthdayMonth());
我期待
- 带来生日月份的数值在请求范围中的Servlet当我告诉后来JSP它应该显示以前存储的生日月份为一月,二月, Mar而不是1,2,3,并且还显示其他选项值,包括选定的项目突出显示。
这是行得通的。但是,当我点击Option Value的下拉箭头时,Option值意味着月份不是按顺序排列的,也就是说它们的顺序是这样的:'Mar,Feb,Oct,Jan,Jul,Jun,May,Apr,Sep,Aug,Nov ,Dec'。这是为什么发生?任何原因? – 2011-05-23 03:53:19
使用'LinkedHashMap'而不是'HashMap'。然后这些元素将通过插入顺序而不是哈希码进行维护。 – BalusC 2011-05-23 03:54:33
是的,它使用LinkedHashMap。 – 2011-05-23 06:32:12