struts2 s:select 标签的使用

struts2 s:select 标签 
1.静态生成 [html] view plain copy
<s:select name="user.sex" list="#{'0':'男','1':'女'}" label="性别" headerKey="" headerValue="请选择性别"></s:select>  
注解:这里从页面来静态(也就是在页面中写死啦)构造下拉选项,关键点是list="#{'0':'男','1':'女'}" 通过它实现的select的两个option 。headerKey指定缺省的选项"key",headerValue指定缺省的选项"value"。

2.设置下拉框数据源
<% java.util.HashMap map = new java.util.LinkedHashMap();
   map.put(1, "aaa"); 
 map.put(2, "bbb"); 
   map.put(3, "ccc"); 
 request.setAttribute("map", map); 
 request.setAttribute("aa", "2"); 
  %>  
<s:select list="#request.map" 
  label="abc" listKey="key" listValue="value" value="#request.aa"  headerKey="0" headerValue="aabb">
   </s:select> 
value的值设置为了2,所以初始化下拉框时,会自动选择key值为2的选项

3.action传递list过来在页面展示
要展示的list里的对象Program:
public class Program implements Serializable{   
    private int programid;    
    private String programName;     
  public int getProgramid() {      
      return programid;      
 }      
public void setProgramid(int programid) {     
    this.programid = programid;    
   }     
 public String getProgramName() {    
       return programName;  
    }       
public void setProgramName(String programName) {     
      this.programName = programName;     
   }  
}  
获取list的action:
xxxAction extends extends ActionSupport {  
    private  List<Program> programs ;//list集合  
public List<Program> getPrograms() {    
       return programs;    
   }      
public void setPrograms(List<Program> programs) {  
      this.programs = programs;     
 } 
  }
jsp显示的页面:
<s:select list="programs " listValue="programName " listKey="programid "  name="program" id="program" headerKey="0l" headerValue="" > </s:select>   
  listKey说明下拉框的key值对应 programid字段,listValue说明下拉框的显示部分对应programName字段
posted @ 2018-08-02 17:19  fgh1101  阅读(605)  评论(0编辑  收藏  举报