Как превратить выбранное поле выбора / опции в jsp в переменную без отправки формы? - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть базовый выбор в JSP

<select name="tableName">
    <c:forEach var="valuesInRow" items="${valuesInRows}" varStatus="loop">                                       
        <option><c:out value="${valuesInRow}"></c:out></option>                          
    </c:forEach>
</select>

тогда я хочу передать это так:

<s:url var="url_list" value="/spravochnik/list">
    <s:param name="tableName" value="${tableName}"/>
</s:url> 
<a href="${url_list}">List</a>  

Контроллер принимает tableName следующим образом:

    @RequestMapping(value = "/list", method = { RequestMethod.POST, RequestMethod.GET })
    public String getSpravochniks(Model m, @PathVariable("tableName") String tableName) {
...
}

В браузере я вижу форму URL, подобную этой:

http://localhost:8080/spravochnik/list?tableName=

, поэтому он не распознает переменную tableName, которую я выбрал из выбора ... Я не использую форму и отправляю, я хочу соединиться исключительно с URL-адресом. Пожалуйста, вы можете помочь мне определить, почему tableName не передается?

EDIT: Теперь моя часть JSP выглядит так:

<c:set var="tableName" value="${0}"></c:set>
<select name="tableName">
<c:forEach var="dropDown" items="${dropDown}">
<c:forEach var="valuesInRows" items="${dropDown.valuesInRows}">
<c:forEach var="valuesInRow" items="${valuesInRows}" varStatus="loop">                                        
<c:if test="${loop.index %2 != 0}">
<c:set var="tableName" value="${valuesInRow}"></c:set>
<option value="${valuesInRow}"><c:out value="${valuesInRow}"></c:out></option>
</c:if>
</c:forEach>
</c:forEach>
</c:forEach>
</select>

Это реальная, не упрощенная версия. Я заполняю выбор из БД. Когда я проверяю свою переменную tableName, которую я установил в c: set, она всегда показывает последний параметр. Как сделать так, чтобы вместо нее отображалась выбранная опция?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...