struts2中select标签的内容,存放到List或者Map集合中,因此需要单独写一个action类,添加list或者map中内容;
1,在action类中使用List集合存放内容,List中可以存放String或者对象
(1)List中存放string
package com.tjise.Action;
public class FormAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = -2368236101082627936L;
private List<String> province;
public List<String> getProvince() {
return province;
}
public void setProvince(List<String> province) {
this.province = province;
}
//public FormAction(){
//
province=new ArrayList<String>();
province.add("山东省");
province.add("山西省");
province.add("广东省");
province.add("浙江省");
province.add("江苏省");
//
//
}
}
(2)List中存放对象
private List<Provience> province;
public List<Provience> getProvince() {
return province;
}
public void setProvince(List<Provience> province) {
this.province = province;
}
public FormAction(){
province=new ArrayList<Provience>();
province.add(new Provience(1,"山东省","济南"));
province.add(new Provience(2,"浙江省","杭州"));
province.add(new Provience(3,"广东省","广州"));
//
}
(3)存放到map中
private Map<Integer,String> province;
public Map<Integer, String> getProvince() {
return province;
}
public void setProvince(Map<Integer, String> province) {
this.province = province;
}
public FormAction(){
province=new HashMap<Integer,String>();
province.put(1,"山东省");
province.put(2,"山西省");
province.put(3,"广东省");
province.put(4,"浙江省");
}
注意:struts.xml中的配置
<struts>
<package name="select" namespace="/" extends="struts-default">
<action name="select" class="com.tjise.Action.FormAction" >
<result>/select.jsp</result>
</action>
<action name="login" class="com.tjise.Action.LoginAction" >
<result>/success.jsp</result>
</action>
</package>
</struts>
在select.jsp页面引入select标签时候,有两种方法,
1,通过<s:bean/>标签,方法:
<s:bean name="com.tjise.Action.FormAction" id="fa"></s:bean>
<s:select list="#fa.province" name="user.province" label="选择籍贯"></s:select>
2,在访问select.jsp之前,先请求FormAction
http://localhost:8888/struts2_select/select.action