数据库中数据添加到下拉列表的实现方法

页面中经常用到下拉列表,下面是个人对于STRUTS中标签使用的一点总结: 
STRUTS中的下拉选择列表标签必须嵌套在<html:form>标签中,包括: 
1.<html:select> 
2.<html:option> 
3.<html:options> 
4.<html:optionsCollection> 

使用时嵌套如下: 
<html:select property="ationForm.property"> 
<html:option>或<html:options>或<html:optionsCollection> 
</html:select> 
其中property为ActionForm中对应的一个属性. 

1.<html:option> 
<html:option value="value">displayName</html:option> 
其中value为实际使用的值(赋值到ActionForm对应的属性中) displayName页面中显示的信息. 
例:<html:option value=""></html:option>显示一个空白选择,值为"". 

2..<html:options> 
<html:options collection="collection" labelProperty="displayName" property="value"/> 
其中collection为一个集合,一般是个ArrayList,displayName为前台显示的名称,value为后台实际使用的值. 
例:<html:options collection="arrayList" labelProperty="name" property="id" /> 

3..<html:optionsCollection> 
<html:optionsCollection property="actionForm.property" label="displayName" value="value"/> 
其中property为ActionForm中的一个属性,为一个集合.displayName为前台显示的名称,value为后台实际使用的值. 
例:<html:optionsCollection property="listProperty" label="name" value="id" /> 

补充一点:如果要从 数据库去取数据,一般是在 action 里调用 DAO ,把结果存入一个ArrayList作为 request 的一个属性传到页面上; 这时一般用 <html:options .../> 标签.另外,如果数据不从数据库去取,而是代码固定的,则一般把这种放到 ActionForm 里,作为属性在页面上取,这时一般用 <html:optionsCollection ... /

迭代源代码如下

  :<body>
   <%
    ArrayList<Address>list=(ArrayList<Address>)request.getAttribute("list");
    pageContext.setAttribute("list",list);
    
    %>
    <html:form action="tiaozhuan.do" method="post">
     <html:select property="addressxia">
      <html:option value="0">请选择城市</html:option>
     <logic:iterate id="address" name="list">
       <html:option value="1">
       <bean:write name="address" property="address"/><br>
       </html:option>
      
     </logic:iterate>
     </html:select>
     <html:submit value="submit"></html:submit>
     </html:form>
     
     
   
   
  </body>

原文地址:https://www.cnblogs.com/moonfans/p/2722654.html