struts 中select的使用

1 静态生成

<s:select name="user.sex" list="#{'0':'男','1':'女'}" label="性别" headerKey="" headerValue="请选择性别"></s:select>

注解:这里从页面来静态(也就是在页面中写死啦)构造下拉选项,关键点是list="#{'0':'男','1':'女'}" 通过它实现的select的两个option 。headerKey指定缺省的选项“value”,headerValue指定缺省的选项“text”。


2 action传递list过来

<s:select label="用户" name="user" list="userList" listKey="id" listValue="name" />

注解:这里通过一个list类型的对象来动态生成一个下拉列表。list="userList"表示action里有一个list<User>类型的userList属性。listKey="id"表示当前option的value从userList里的当前User对象的id属性取值。listValue="name"表示当前option的text从userList里的当前User对象的name属性取值。

 

摘自:http://czxddlcs2007.blog.163.com/blog/static/41630879201221993214552/

 

struts2的select标签中,常用属性:

(1)list:创建列表的可迭代数据源, 必设项(list必须有值,如果没值则必须设置headerKey, headerValue)。如果该列表是一个Map(key, value), 那么Map的主键将作为选项(<option>)的"value"属性, 而该主键对应的值作为选项的文本内容.是必须设置的选项,如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。

(2)headerKey:设置列表的题头主键值. 一定不能为空值! "'-1'"或"''"是正确的取值, ""是错误的取值。

(3)headerValue:列表的题头选项值。

(4)listKey:列表数据源中元素对象的属性, 用于获取选项的值,对应于select标签中的value。

(5)listValue:表数据源中元素对象的属性, 用于获取选项的文本内容,对应于select标签中的option。

(6)name:元素的名字。

 

下面有详细的例子:

1.第一个例子:  

<s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>  

2.第二个例子:

<s:select list="#{1:'aa',2:'bb',3:'cc'}"  label="abc" listKey="key" listValue="value"  headerKey="0" headerValue="aabb"> 

3.第三个例子:  

<% 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 >

 headerKey headerValue 为设置缺省值   

4.第四个例子  

public class Program implements Serializable { 

    /**    serialVersionUID */

     private static final long serialVersionUID = 1L;     

     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; 

    } } 

 在 xxx extends  extends ActionSupport {

     private  List<Program> programs ;

        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="    "   value="bean.programid "              ></s:select>

   红色部分为在action里面的list,黄色为<option value="xxx">value</option>对应bean里面的字段programName  绿色为<option value="xxx",紫色为文本,对应bean里面的字段programid



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值