Как да извлека данни от DB за избрана падаща стойност, използвайки само JSTL?

момчета, работя върху уеб приложение в jsp и сървлети .. в myjsp.jsp имам списък

List<String> sexList = (List<String>)request.getAttribute("sexList"); %>

и го поставете в полето cumbo в html таг като този

       <td>Gender:</td>
            <td><select name="sex">
                <%for(String i : sexList) { %>
                    <option value="<%=i%>"><%=i %></option><%}%>
                </select>
            </td>

но сега искам да избера избрания елемент от база данни с помощта на JSTL и искам да знам как да върна или получа този избран елемент .. всякаква помощ


person yoyo riri    schedule 27.10.2014    source източник


Отговори (1)


Трябва да го включите във формуляра и да го публикувате в сервлета:

selection.jsp:

<form action="display.jsp" method="GET">
  <select name="sex">
    <c:forEach items="${sexList}" var="sex">
       <option value="${sex}">${sex}</option>
    </c:forEach>
  </select>
  <input type="submit" value="submit"/>
</form>

display.jsp

<c:set var="sex" value="${param.sex}" scope="page" /> //Gets the selected sex

<sql:query var="person" >
  select * from Person where sex = ?
  <sql:param value="${sex}" />
</sql:query> 
person Sas    schedule 27.10.2014
comment
искам да използвам JSTL :) - person yoyo riri; 27.10.2014
comment
как да върна избрания елемент, моля, в JSTL?? - person yoyo riri; 27.10.2014
comment
Включете го във формуляр и създайте бутон за изпращане. Когато потребителят избере пол и щракне върху бутона за изпращане, той ще изпрати заявка за публикуване до сервлета. Във вашия сервлет можете да получите избрания пол, като използвате request.getParameter(sex). Актуализира отговора - person Sas; 27.10.2014
comment
разбирам те добре :), но проблемът е, че искам всички операции да се извършват в jsp, без да използвам сървлети, тъй като искам да избирам данни от база данни, използвайки избраните елементи от разгъващия се списък, използвайки JSTL - person yoyo riri; 27.10.2014
comment
О, виждам. Опитвате се да изпратите параметър към друг jsp. Актуализирах отговора, но не го проверих. Трябва да работи, опитайте актуализирания отговор. Кажете ми дали това се опитвате да направите. - person Sas; 27.10.2014
comment
ти написа секс=? какво значи това ?? между другото искам да избера човек, чийто пол е със същата избрана стойност в разгъващото се поле .. не е ли това sex=? направи това или не - person yoyo riri; 27.10.2014
comment
точно това прави. ? е символ, който показва, че е параметър. Да, кодът по-горе прави точно това. В selection.jsp избирате пол и щракнете върху изпращане. Във вашия display.jsp получавате избрания пол и стартирана заявка, където секс=?. - person Sas; 27.10.2014
comment
Можете ли да публикувате изключението? - person Sas; 28.10.2014