start.jsp :
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<a href="sample"><s:optgroup/></a>
</body>
</html>
struts.xml :
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="demo" extends="struts-default">
<action name="sample" class="action.SampleAction">
<result name="success">/showInfo.jsp</result>
</action>
</package>
</struts>
SampleAction.java :
public class SampleAction extends ActionSupport{
private String myfriend;
public String getMyfriend() {
return myfriend;
}
public void setMyfriend(String myfriend) {
this.myfriend = myfriend;
}
public String execute(){
myfriend="lily";
return "success";
}
}
showInfo.jsp :
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<s:bean name="bean.Friends" var="f"></s:bean>
朋友:<s:select list="{}" name="myfriend">
<s:optgroup label="男性" list="#f.male" listKey="name" listValue="name"></s:optgroup>
<s:optgroup label="女性" list="#f.female" listKey="name" listValue="name"></s:optgroup>
</s:select>
<s:debug></s:debug>
</body>
</html>
Person.java :
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person(String name) {
this.name = name;
}
}
Friends.java :
public class Friends {
private List<Person> male=new ArrayList<Person>();
private List<Person> female=new ArrayList<Person>();
public List<Person> getMale() {
return male;
}
public void setMale(List<Person> male) {
this.male = male;
}
public List<Person> getFemale() {
return female;
}
public void setFemale(List<Person> female) {
this.female = female;
}
public Friends(){
male.add(new Person("tom"));
male.add(new Person("jack"));
male.add(new Person("smith"));
female.add(new Person("penny"));
female.add(new Person("lily"));
female.add(new Person("rose"));
}
}