Struts1中的单选下拉框简单实用像下面这样:
<html:form action="education" method="post">
<html:select property="education">
<html:options collection="edu2" property="value"
labelProperty="label"
/>
</html:select>
<html:submit value="submit"/>
</html:form>
<html:select>中education为你form文件中的一个property,存放你选中的值。
<html:options>是下拉列表选项,collection属性需要一个集合,比如arraylist,
vector。并且集合的元素都是一个bean。
1.你可以使用struts提供的LabelValueBean,直接
这样使用
<%
ArrayList alist=new ArrayList();
alist.add(new LabelValueBean("1","xiaoxue"));
alist.add(new LabelValueBean("2","chuzhong"));
alist.add(new LabelValueBean("3","gaozhong"));
request.setAttribute("edu2", alist);
%>
<html:options>中Property属性 和 labelProperty属性分别代表下拉框中的值(form中接收到的值)以及列表中显示出来的值,如果使用struts提供的LabelValueBean,你只需要写上value和label就可以了。像下面:
<html:form action="education" method="post">
<html:select property="education">
<html:options collection="edu2" property="value"
labelProperty="label"
/>
</html:select>
<html:submit value="submit"/>
</html:form>
2.也可以使用自定义的bean,像下面这样先自定义一个
public class Education {
private String id;
private String schoolName;
public Education(String id,String schoolName)
{
this.id=id;
this.schoolName=schoolName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSchoolName() {
return schoolName;
}
public void setSchoolName(String schoolName) {
this.schoolName = schoolName;
}
}
然后
<%
ArrayList alist=new ArrayList();
alist.add(new Education("1","xiaoxue"));
alist.add(new Education("2","chuzhong"));
alist.add(new Education("3","gaozhong"));
request.setAttribute("edu", alist);
%>
如果使用自定义的bean,填写bean中的字段名,像下面这样
<html:form action="education" method="post">
<html:select property="education">
<html:options collection="edu" property="id"
labelProperty="schoolName"
/>
</html:select>
<html:submit value="submit"/>
</html:form>