【问题标题】:JSTL populate several dropdowns using the same SQL queryJSTL 使用相同的 SQL 查询填充多个下拉列表
【发布时间】:2014-01-06 01:06:42
【问题描述】:

我正在使用 JSTL 创建一个 web 应用程序 - 拼命尝试不使用 Java 代码和 scriptlet。

我的网站是一个足球网站,我在其中输入赛程和参加比赛的球员姓名(11-13 名)

我有一个 players 表,其中包含所有玩家的姓名。

我需要用他们所有的名字填充一个下拉菜单,并重复此代码 13 次(13 个下拉菜单具有相同的列表)

我显然不想为此编写 13 位代码。

其他地方的非常基本的伪代码可能看起来像...

String playerDropDown = getPlayersFromDB();

print playerDropDown;
print playerDropDown;
print playerDropDown;
print playerDropDown;
print playerDropDown;
print playerDropDown;
print playerDropDown;
...
...

感谢任何建议/指导。

【问题讨论】:

  • 能否请您删除sql标签。

标签: sql jsp web-applications drop-down-menu jstl


【解决方案1】:

我一直这样做。创建一个新的 JSP 页面,只需编写您的 select 和一个 for 循环,并将所有玩家名称添加为选项。然后在您的主 JSP 页面中包含此页面。

可能看起来像这样:

players_select.jsp

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %
<% 
    List players = Players.getAll();
%>
<select>
<c:forEach var="player" items="<%=players %>">
    <option>${player}</option>
</c:forEach>
</select>

main.jsp:

...
<jsp:include page="../includes/players_select.jsp"/>
...
<jsp:include page="../includes/players_select.jsp"/>
...
<jsp:include page="../includes/players_select.jsp"/>
...

这样,如果您在 player_select.jsp 中进行更改,它会影响所有用法。

【讨论】:

  • 有趣,所以 Players.getAll() 是一个简单的 Java 方法,它返回一个 List ??
  • 是的,一个公共静态方法返回一个字符串列表,这将在提供的示例中工作,或者如果您更喜欢使用对象和方法,则返回一个播放器对象列表。如果是后者,则 变为 .
  • 太棒了,非常感谢。我已经开始对我的代码进行“列表”更改。一旦我破解它,我会发表另一条评论:)
  • 我觉得你还是需要导入java.util.List
  • 感谢你们的贡献。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多