gpt4 book ai didi

数字范围的 Spring JSP 选择列表

转载 作者:行者123 更新时间:2023-12-04 18:22:51 27 4
gpt4 key购买 nike

我正在创建一个时间输入系统,用户可以通过两个单独的下拉选择框选择小时和分钟。所以小时框有数字 1-12 在里面,分钟框有 00-59 .

这是 Spring 2.5 Java EE 项目的一部分。

例如,我在我的 JSP 中有这个,用于创建选项值作为选择下拉列表的一部分:

<% for( int i=1; i<=12; i++) { %>
<option value="<%=i %>" <%= Integer.parseInt(time1fromHr)==i?selected:"" %> />
<% } %>

for 循环生成所有小时并将当前选定的小时标记为默认值。嗯,对我来说它看起来很丑,主要是因为这里涉及到相当多的 Java 代码,我想知道是否有更优雅的解决方案来使用 JSP 标记或 Spring 库来解决这个问题。我通过 Spring 中的 ModelAndView 对象传入当前设置的参数。

最佳答案

在您的模型中,您可以将一个整数列表传递几个小时,另一个传递几分钟。然后你可以使用 form:select 标签。

<form:select path="hour">
<form:options items="${hours} />
</form:select>

If your command object for the form has the selected value set in the "hour"value, and the model contains 1-12 in the "hours"value, then it should render the select and take care of marking the appropriate option selected.然后你做同样的几分钟。

如果您不想采用 spring form taglib 方向,您可以再次将小时放在模型中并使用 JSTL。就像是:
<c:forEach var="hour" items="${hours}">
<c:if test="${hour} == ${selectedHour}">
<option value="${hour}" selected="selected">${hour}</option>
</c:if>
<c:if test="${hour} != ${selectedHour}">
<option value="${hour}" >${hour}</option>
</c:if>
</c:forEach>

我知道有一个更好的方法来做 c:if 部分,也许使用 c:choose,但你明白了要点。您在 selectedHour 中有您选择的值,在模型中有您选择的小时数。

关于数字范围的 Spring JSP 选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10306849/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com