免责声明:我将简单地假设无效的 HTML 语法(缺少>
)只是由于准备问题时的粗心造成的。
您肯定已经设置了选项值。在您喜欢的网络浏览器中右键单击该页面,然后选择查看源代码。仔细看,它们就在生成的 HTML 输出中。
您只是忘记设置选项标签。标签对最终用户可见,而值对最终用户确实不可见。您可以通过设置<option>
元素的主体来设置选项标签。
<c:forEach items="${ttypes}" varStatus="i">
<c:set var="name" value="${ttypes[i.index].name}" />
<option value="${name}">${name}</option>
</c:forEach>
一个不太笨拙的方法是:
<c:forEach items="${ttypes}" var="ttype">
<option value="${ttype.name}">${ttype.name}</option>
</c:forEach>
应该注意的是,通常一些技术 ID 被用作选项值。
<c:forEach items="${ttypes}" var="ttype">
<option value="${ttype.id}">${ttype.name}</option>
</c:forEach>
还应注意的是,当您省略该值时,标签会隐含地成为选项值。
<c:forEach items="${ttypes}" var="ttype">
<option>${ttype.name}</option>
</c:forEach>
最后需要注意的是,这个问题与JSP/JSTL/Spring无关。他们在这个问题的上下文中只是充当 HTML 代码生成器。您的具体问题仅与基本 HTML 有关。
也可以看看: