在jsp中显示下拉列表

时间:2012-10-23 14:16:15

标签: java jsp

我有填充元素的数组,我想在下拉列表中显示该数组的元素。

这是相关的一段代码。

 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>

我知道,设置选项值的方法不正确,我不确定这样做的正确方法。

4 个答案:

答案 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>