jsp的select标签,想将数据库中的数据添加到
<option>中,应该怎么做。
我是做了个action,然后,先取到要的值,然后放到一个list下但是仍然取不到,而且action也没有做。跪求高手能够给我一个样例的代码,谢谢了

解决方案 »

  1.   

    后台 request.setAttribute("list",list),然后action转发到你的jsp
    页面
    <select name="xxx">
      <c:forEach items="${list}" var="item">
          <option value="${item.xxx}">${item.xxx}</option>
      </c:forEach>
    </select>
      

  2.   

    当请求这个jsp页面的时候,你肯定将所需的数据存放在一个范围中,不管是你用S1或者是S2。
    然后在这个页面:
    <select>
    <c:forEach var="item" items="${list}">
    <option value="${item.属性1}"
    ${item.属性2}"
    </option>
    </c:forEach>
    </select>
    属性1比如是ID,通常我们都是ID,属性2是value。
    当然可以用Struts自己的遍历标签。不管哪种都可以。
      

  3.   

    //把下面的函数实现成从数据库读取数据
    private Speciality[] getSpecialities(){
    return new Speciality[]{
    new Speciality(1,"football"),
    new Speciality(2,"basketball"),
    new Speciality(3,"ping-pong"),
    new Speciality(4,"volleyball"),
    new Speciality(5,"baseball"),
    new Speciality(6,"tennis ball")
    };
    }
    request.setAttribute("specialities", getSpecialities());
    jsp中:
    <select name="user.specialities">
    <c:forEach items="${specialities}" var="specialitie">
    <option value="${specialitie.value}" ${userForm.user.specialitie.value==specialitie.value?'selected="selected"':"" }>${specialitie.title} </option>
    </c:forEach>
    照着改改就行了
    </select>