动态生成jsp及其下拉列表

时间:2018-01-22 07:59:39

标签: jsp jstl

在我的情况下,我必须制作一个模板jsp类型的页面,使用它必须动态加载不同的jsps,包括它的下拉菜单。我已将详细信息(包括下拉详细信息)保存在表格中。如何显示下拉列表,因为相同的模板应用于呈现不同的jsps。因此,在下拉列表的情况下,我想到保存列表名称及其在表中所需的属性名称,并在呈现jsp时从表中获取列表项的名称。

我们说客户有id和他们相应的名字。 所以在正常情况下我会写:

<option value="${custList.id}" ><c:out value="${custList.name}"></c:out></option>

所以在我的情况下,我已将值保存在名为jspMaster的表中,如下所示:

  • listForDropdown:custList
  • dropdownKey:id
  • dropdownValue:name

当页面加载时我得到表的对象即jspMasterObj。现在它有列表名称,我应该为下拉内容迭代(listForDropdown)。

<c:when test="${jspMasterObj.datatypeMaster.id == 6}">  //id=6 means drop-down datatype
<c:set var="dropdownList" value="${jspMasterObj.listForDropdown}"></c:set> //list containing drop-down items
<c:set var="dropdownKey" value="${jspMasterObj.dropdownKey}"></c:set>   //id for the corresponding item in the list
<c:set var="dropdownVal" value="${jspMasterObj.dropdownValue}"></c:set> //name for the corresponding item in the list
    <select class="form-control selectpicker" id="testDrop" name="testDrop">
        <option value="0" >--Select Value-- </option>
            <c:forEach var="dropdownListVar" items="${requestScope[dropdownList]}">
                <option value="${dropdownListVar}.${dropdownKey}" ><c:out value="${dropdownListVar}.${dropdownVal}"></c:out></option>
            </c:forEach>
    </select>
</c:when>

在上面的例子中,我在jsp中获取列表,因为下拉列表中显示了多个值。但是存储在变量中的键和值部分dropdownKey和dropdownVal只是在输出中作为字符串打印。 这很难解释,但我试过了。请帮忙。 感谢。

0 个答案:

没有答案