서버 측에서 옵션 값과 레이블의 매핑을 유지해야합니다. 예 : 내부의 ServletContextListener
혹은 서블릿의 init()
:
<select name="country">
<c:forEach items="${countries}" var="country">
<option value="${country.key}">${country.value}</option>
</c:forEach>
</select>
당신이를 얻을 수있을 것입니다이 방법을 다음과 같이
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}
과 적용 범위에 넣을 때, 당신은 그것을 표시 할 수 있습니다
Map<String, String> countries = (Map<String, String>) getServletContext().getAttribute("countries");
// ...
String countryCode = request.getParameter("country");
String countryName = countries.get(countryCode);
// ...
또는 JSP에서 일반 표시 : 다음과 같이 서버 측에서 레이블을
을
<p>Country code: ${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>
JSP에서 다시 가져올 방법이 없습니다. BalusC의 대답에 따라 맵핑을 유지해야합니다. –
@XCoder : 드롭 다운 상자에 대해 별도의 POJO를 작성하고, , 를 사용하여 다음 JSP 페이지에서 선택한 값에 액세스 할 수 있습니까? 가능한가? 친절 하 게 회신. 감사합니다 –