Jsp 使用jstl遍历列表
我有一个班级线组 在主页上,我想从列表中读取所有数据,并将其放入选择选项中。但是它不是这样工作的Jsp 使用jstl遍历列表,jsp,jstl,Jsp,Jstl,我有一个班级线组 在主页上,我想从列表中读取所有数据,并将其放入选择选项中。但是它不是这样工作的 <body> <jsp:useBean id="list" class="beans.LineGroup" scope="request"></jsp:useBean> <form action="SevenServlet" method="POST"> ПЕРВАЯ СТРОКА:<input name="from" type
<body>
<jsp:useBean id="list" class="beans.LineGroup" scope="request"></jsp:useBean>
<form action="SevenServlet" method="POST">
ПЕРВАЯ СТРОКА:<input name="from" type="text"/><br>
ВТОРАЯ СТРОКА:<input name="to" type="text"/><br>
<input type="submit" name="send" value="УДАЛИТЬ"/><br>
<select name="deleted" disabled>
<jstl:set var="end" value="${list.getLength}"/>
<jstl:set var="begin" value="0"/>
<jstl:forEach var="i" begin="begin" end="end" step="1">
<option value="${i}">${list.getLine(i)}</option>
</jstl:forEach>
</select>
</form>
</body>
从列表中获取数据并将其放入“选择选项”的正确方法是什么?试试以下方法:
<select name="deleted" disabled>
<jstl:forEach items="${list.lines}" varStatus="line">
<option value="${line.index}">${line.current}</option>
</jstl:forEach>
</select>
试试这个:
<select name="deleted" disabled>
<jstl:forEach items="${list.lines}" varStatus="line">
<option value="${line.index}">${line.current}</option>
</jstl:forEach>
</select>
你让事情变得更难了 首先,您不需要使用jsp:useBean。jspel使用反射,并在请求属性中查找它使用的bean 您不需要指定迭代的开始和结束。但是您必须迭代一个Iterable,而您的bean不是。不过,它所包装的列表是可编辑的。所以你只需要:
<body>
<form action="SevenServlet" method="POST">
ПЕРВАЯ СТРОКА:<input name="from" type="text"/><br>
ВТОРАЯ СТРОКА:<input name="to" type="text"/><br>
<input type="submit" name="send" value="УДАЛИТЬ"/><br>
<select name="deleted" disabled>
<c:forEach var="line" items="${list.lines}" varStatus="status">
<option value="${status.index}">${line}</option>
</c:forEach>
</select>
</form>
</body>
注意,我对JSTL核心库使用了标准c前缀。使用标准名称有助于提高可编辑性和可维护性。您让它变得更加困难 首先,您不需要使用jsp:useBean。jspel使用反射,并在请求属性中查找它使用的bean 您不需要指定迭代的开始和结束。但是您必须迭代一个Iterable,而您的bean不是。不过,它所包装的列表是可编辑的。所以你只需要:
<body>
<form action="SevenServlet" method="POST">
ПЕРВАЯ СТРОКА:<input name="from" type="text"/><br>
ВТОРАЯ СТРОКА:<input name="to" type="text"/><br>
<input type="submit" name="send" value="УДАЛИТЬ"/><br>
<select name="deleted" disabled>
<c:forEach var="line" items="${list.lines}" varStatus="status">
<option value="${status.index}">${line}</option>
</c:forEach>
</select>
</form>
</body>
注意,我对JSTL核心库使用了标准c前缀。使用标准名称有助于可编辑性和可维护性