DDR爱好者之家 Design By 杰米

本文实例讲述了struts2的select标签用法。分享给大家供大家参考。具体如下:

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

关于struts2 select标签的使用。

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

struts2的版本为2.1.8

<s:select
      list=""
      name=""
      value=""
      headerKey=""
      headerValue=""
      listKey=""
      listValue=""
/>
(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: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;
  }
}

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

其中:list="programs"为在action里面的list,listValue="programName"为<option value="xxx">value</option>对应bean里面的字段programName
listKey="programid"为<option value="xxx",对应bean里面的字段programid,value="bean.programid"为设定select被选中的值,s:select 会自动在 bean选中 key对应的值

希望本文所述对大家的Struts程序设计有所帮助。

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。