当前位置: 代码迷 >> Web前端 >> struts2 学习札记之s:select 标签
  详细解决方案

struts2 学习札记之s:select 标签

热度:103   发布时间:2012-09-07 10:38:15.0
struts2 学习笔记之s: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属性取值。

?

?

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

紫色为设定select被选中的值,s:select 会自动在 bean选中 key对应的值

1 楼 java-lxm 2011-10-12  
0[/color[color=red]0[color=violet]3[/color]
  相关解决方案