У меня нет знаний по AJAX, поэтому я не могу помочь в этом.Таким образом, мой способ решения этой проблемы - сделать все возможное в java / jsp, а затем использовать javascript / AJAX для выборки из вспомогательного jsp, например:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<select>
<c:set var="seenFirst" value="0" />
<c:forEach var="obj" items="${sessionScope.list}">
<c:choose>
<c:when test="${seenFirst == 0}">
<c:set var="seenFirst" value="1" />
<option value="${obj}" selected>${obj}</option>
</c:when>
<c:otherwise>
<option value="${obj}">${obj}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
Редактировать: На самом деле было бы проще создать меню сначала просто с помощью <c:forEach>
, используя вспомогательную переменную для нумерации опций (в поле id), затем используйте javacript, чтобы включить выбранный атрибут в первый.Например:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<select>
<c:set var="n" value="0" />
<c:forEach var="obj" items="${sessionScope.list}">
<option id="menu-${n}" value="${obj}">${obj}</option>
<c:set var="n" value="${n + 1}" />
</c:forEach>
</select>
И вы можете использовать что-то вроде этого, чтобы выбрать первый элемент:
var first = document.getElementById('menu-0');
first.selected = true;