我有填充元素的数组,我想在下拉列表中显示该数组的元素。
这是相关的一段代码。
Party[] Parties = party.getAllParties;
在我的jsp页面中,我有
<td nowrap>
<select label="Party List" array="Parties" name="Party List">
<option value=<%= (Parties) %>></option>
</select>
</td>
现在当我去查看jsp页面的查看源代码时,我有
<td nowrap>
<select label="Party List" array="Parties" name="Party List">
<option value=[Lcom.areil.pdo.party.Party;@1404de3></option>
</select>
</td>
我知道,设置选项值的方法不正确,我不确定这样做的正确方法。
答案 0 :(得分:1)
放置此代码:
<c:forEach var="party" items="${Parties}">
<option value="${party}" />
</c:forEach>
答案 1 :(得分:1)
您要做的是在JSP
中执行JSTL forEach语句,并使用EL输出您的值。尝试使用尽可能少的scriptlet代码,EL设计用来替换scriplets。
包括这个:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
进入您的JSP以便能够使用JSTL
。因此,适当的JSP代码应如下所示:
<td>
<select label="Party List" array="Parties" name="Party List">
<c:forEach var="party" items="${Parties}">
<option value="${party}">
<c:out value="${party}"/>
</option>
</c:forEach>
</select>
</td>
答案 2 :(得分:0)
是的,这是因为你试图直接显示数组。
您的陈述等于System.out.println(Parties);
您需要遍历数组并按索引显示每个元素,如parties[i]
。
示例:
for(int i=0;i<Parties.length;i++)
{ %>
<tr><td><%=Parties[i]%></td></tr><%
}
答案 3 :(得分:-1)
<select name="party">
<option value="">SELECT</option>
<% for(int i=0;i<Parties.size();i++){
String party= (String)Parties.get(i); %>
<option value="<%=party%>" > <%=party%>
</option>
<%}%>
</select>