使用JSTL控制要在表中使用的内容

时间:2010-06-28 05:35:29

标签: jsp jstl el

我想根据用户选择的值为表的内容使用不同的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 :(得分:0)

换句话说,您想在displaytag的<select>属性中使用提交的HTML name元素的选定值吗?即你想在那里使用request.getParameter("name")吗?您可以按${param}${param.name}访问EL中的请求参数:choice

由于下拉列表的名称为<display:table name="${param.choice}"> ,因此以下内容应该有效:

{{1}}