您的位置:首页 > 编程语言 > Java开发

struts2 select标签

2012-12-17 17:12 288 查看

struts2 select标签  

2012-08-29 15:06:44|  分类:

Struts |  标签:
|字号大中小 订阅

项目中遇到个小问题,总结下。

关于struts2 select标签的使用。

struts2 中从别的表中遍历数据 填充进入下拉菜单 用<s:select>标签显示.

struts2的版本为2.1.8

1
<s:select
2
      
list=
""
3
      
name=
""
4
      
value=
""
5
      
headerKey=
""
6
      
headerValue=
""
7
      
listKey=
""
8
      
listValue=
""
9
/>
(1)其中 list是必须具备的属性 list中可以存储map list set类型的数据

list 属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的 option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。

(2)如果list为空headKey 和headValue不能为空.listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option

(3)name属性:即是表单中select的名称。

下面具体解释下各个属性的含义。

headerValue : 默认值value
headerKey :    默认name
list : 源数据 (可以在action方法里从数据库获取list)
name : 被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>)
listKey : 下拉选项的name
listValue : 下拉选项的value
value : 默认值

1.第一个例子:

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

2.第二个例子:

<s:selectlist="#{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");<
ab94
br />
%>

<s:selectlist="#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:selectlist="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对应的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: