サーバー側でオプション値とラベルのマッピングを維持する必要があります。例えば。内部の一部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ページで選択した値にアクセスできますか?出来ますか?親切に返信..thanks –