Используйте JSTL для управления содержимым таблицы. - PullRequest
1 голос
/ 28 июня 2010

Я хотел бы использовать другой ArrayList для содержимого таблицы на основе выбранного пользователем значения.

Я использую тег display: table для отображения

<display:table name="${aVariableName}">
    <display:column property="trackNumOfType" title="Track (# of Types)" sortable="true"></display:column>
    <display:column property="typeNumOfFeature" title="Type (# of Features)" sortable="true"></display:column>
</display:table>

Как я могу заменить aVariableName на основе выбранного пользователем значения в раскрывающемся списке, который должен быть именем другой установленной переменной?

Для справки, это мой выпадающий список:

<form method="post" action="PostBackToTheCurrentJSP.jsp">
    <select name="choice" size="1" onchange="submit()">
        <c:forEach var="chrms" items="${LocationName}" varStatus="loopStatus">
            <c:choose>
                <c:when test="${param.choice == chrms.name}">
                    <c:set var="selectedInd" value=" selected"></c:set>
                </c:when>
                <c:otherwise>
                    <c:set var="selectedInd" value=""></c:set>
                </c:otherwise>
            </c:choose>
            <option value="<c:out value='${chrms.name}' />" <c:out value='${selectedInd}' />>
                <c:out value="${chrms.name}"></c:out>
            </option>
        </c:forEach>
    </select>
</form> 

Если использование JSTL невозможно, так как нет вложенного EL, есть ли у вас какой-либо другой способ сделать это?Заранее спасибо.

Кеннет

1 Ответ

0 голосов
/ 28 июня 2010

Другими словами, вы хотите использовать переданное выбранное значение элемента HTML <select> в атрибуте name тега display? То есть Вы хотите использовать request.getParameter("name") там? Вы можете получить доступ к параметрам запроса в EL с помощью ${param} следующим образом: ${param.name}.

Так как раскрывающийся список имеет имя choice, должно работать следующее:

<display:table name="${param.choice}">
...