您需要在服务器端维护选项值和标签的映射。例如,在某些
ServletContextListener甚至是servlet的内部
init():
Map<String, String> countries = new linkedHashMap<String, String>();countries.put("CW", "Curaçao");countries.put("NL", "The Netherlands");countries.put("US", "United States");// ...servletContext.setAttribute("countries", countries);将其作为放在应用程序范围中时
${countries},可以显示如下:<select name="country"> <c:forEach items="${countries}" var="country"> <option value="${country.key}">${country.value}</option> </c:forEach></select>这样,您将可以在服务器端获取标签,如下所示:
Map<String, String> countries = (Map<String, String>) getServletContext().getAttribute("countries");// ...String countryCode = request.getParameter("country");String countryName = countries.get(countryCode);// ...或在JSP中简单显示:
<p>Country pre: ${param.country}</p><p>Country name: ${countries[param.country]}</p>或预选下拉菜单:
<select name="country"> <c:forEach items="${countries}" var="country"> <option value="${country.key}" ${param.country == country.key ? 'selected' : ''}>${country.value}</option> </c:forEach></select>


