action中代碼如下:
List allUser=this.getLoginServiceImpl().find();
request.setAttribute("user", allUser);
return mapping.findForward("listUser");
注:其中User對象有id和name屬性
jsp顯示:法一
<html:select property="school">
<html:option value="">
<bean:message key="login.select" />
</html:option>
<logic:present name="user">
<logic:iterate id="user" name="user" offset="0">
<option value="<bean:write name="user" property="id" />">
<bean:write name="user" property="name" />
</option>
</logic:iterate>
</logic:present>
</html:select>
jsp顯示:法二
<html:select property="school">
<html:optionsCollection name="user" value="id" label="name"/>
</html:select>
optionsCollection標簽用法:
與options標簽一樣,optionsCollection標簽可以從集合或者是包含集合的對象里獲得選項的標簽/值對。在這兩種情況里,集合或包含集合的對象必須是一個作用域對象,否則定制標簽將無法訪問它。
1.與包含集合的對象配合使用
舉例:userForm動作表單有一個如下所示的ArrayList類型的userList屬性,相應的set,get方法,通過在action中設置好userForm后,request.setAttribute("userForm",userForm);
在jsp頁面:
<html:select property="school">
<html:optionsCollection name="userForm"
property="userList"/>
</html:select>
2.與集合配合使用
action中
ArrayList userList=new ArrayList();
userList.add(new LabelValueBean("1","haha"));
userList.add(new LabelValueBean("2","dada"));
userList.add(new LabelValueBean("3","xiaoxiao"));
request.setAttribute("userList",userList);
jsp頁面
<html:select property="school">
<html:optionsCollection name="userList"
label="label" value="value"/>
</html:select>
(注:邊學邊share,如有問題,歡迎交流學習)