<select>
<option value="0">--请选择--
</option>
<c:forEach items="${html}" var="p">
<option value="${p}"> 
${p} 
</option>
</c:forEach></select>
我这段代码有没有写错  为什么我要显示的内容不是在下拉框里面出现的  而是直接全部都显示出来

解决方案 »

  1.   

    select里加个size="1"试一下呢。
    <select size="1">
      

  2.   

    你的html是放到request里面的吗?还有你html是什么要的格式。
    一下是我写的。可以使用:<select>
    <option value="0">
    --请选择--
    </option>
    <c:forEach items="${html}" var="p">
    <option value="${p.name}">
    ${p.name}
    </option>
    </c:forEach> </select>package com.cs;public class Html { private String name; public Html(String name) {
    super();
    this.name = name;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    }


    }List<Html> list = new ArrayList<Html>();
    list.add(new Html("a"));
    list.add(new Html("b"));
    list.add(new Html("c"));
    request.setAttribute("html",list);
      

  3.   

    action里面是这样写的:
    ProductLineUtil.generateHtml(roots, adSpace.getProductLine(), html, "", "productLineId");
    System.out.println(html.toString());
    getSession().setAttribute("html", html.toString());
    bookList=bookService.getAll();