Struts2标签之select的使用方法

一、select表单的实现的例子

0x00 HTML代码实现select表单

首先我们来看一下使用纯粹的HTML代码实现最简单select表单,该如何实现,代码如下:

<select name="selectName">
    <option value="chelsea">切尔西</option>
    <option value="mu">曼联</option>
    ...
</select>


0x01 Struts2标签实现select选择菜单

当我们使用struts标签实现一个简单的select表单时,该如何实现,代码如下:

<s:set var="teamList" value="#{'chelsea':'切尔西','mu':'曼联'}"></s:set>
<s:select name="" list="teamList" headerKey="" headerValue="选择你喜欢的球队"></s:select>


0x02 使用Action中传递的列表生成select菜单

上面的例子所实现的select表单都是使用静态数据来完成的,然而我们在工作中需要使用动态的数据完成select表单的展示,该如何实现,代码如下:

Action代码:

public void TeamAction(){
    private List<Team> teamList; // 需要在页面中显示的list

    // 此处省略teamList的getter方法

    // 此处省略teamList的setter方法
}

页面代码:

<s:select list="teamList"  <!--Action中传过来的需要进行显示的list -->
      listKey="team_id"  <!-- listKey相当于option中的value属性 -->
      listValue="team_name"  <!-- listKey相当与每个option的文本内容 -->
      name="team.team_id"  <!-- select的name属性 -->
      value="chelsea">  <!-- select的默认选项,相当于在对应的option中设置selected="selected" -->
</s:select>

以上代码便是实现使用动态数据完成select表单的基本代码的demo,在这个过程中只使用了几个必须要用到的基本的标签属性。下面让我们看一下完整的select标签的属性。



二、select标签属性详解

0x00 常用属性
  • list:创建列表的可迭代数据源, 必设项(list必须有值,如果没值则必须设置headerKey, headerValue)。如果该列表是一个Map(key, value), 那么Map的主键将作为选项()的”value”属性, 而该主键对应的值作为选项的文本内容.是必须设置的选项,如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
  • headerKey:设置列表的题头主键值. 一定不能为空值! “’-1’”或”””是正确的取值, “”是错误的取值。
  • headerValue:列表的题头选项值。
  • listKey:列表数据源中元素对象的属性, 用于获取选项的值,对应于select标签中的value。
  • listValue:表数据源中元素对象的属性, 用于获取选项的文本内容,对应于select标签中的option。
  • name:元素的名字。
附表(所有属性):
名称必填缺省值类型描述
emptyOptionfalsefalseBoolean是否在题头选项后面添加一个空的(–)选项
headerKeyfalseObject/String设置列表的题头主键值. 一定不能为空值! “’-1’”或”””是正确的取值, “”是错误的取值.
headerValuefalseObject/String列表的题头选项值
multiplefalseObject/String创建一个多选列表. 如果value属性指定了一个数组(正确的元素类型), 那么将预先选中数组中指定的多个选项.
sizefalseInteger该组件列表框的大小 (显示元素的个数)
listtrueObject/String创建列表的可迭代数据源. 如果该列表是一个Map(key, value), 那么Map的主键将作为选项()的”value”属性, 而该主键对应的值作为选项的文本内容.
listKeyfalseObject/String列表数据源中元素对象的属性, 用于获取选项的值
listValuefalseObject/String列表数据源中元素对象的属性, 用于获取选项的文本内容
themefalseObject/String输出元素时使用的主题(theme)(不使用缺省的)
templatefalseObject/String输出元素时使用的模板(template)(不使用缺省的)
cssClassfalseObject/String输出元素时的class属性
cssStylefalseObject/String输出元素时的css样式定义(译者注:就是html元素的style属性)
titlefalseObject/String 在输出元素时设置html属性title
disabledfalseObject/String在输出元素时设置html属性disabled
labelfalseObject/String用于输出一个元素对应的label的表达式
labelPositionfalseleftObject/String不赞成使用.
labelpositionfalseObject/String定义元素标签的位置(top/left)
requiredpositionfalseObject/String定义required属性输出的位置(left
namefalseObject/String元素的名字
requiredfalsefalseBoolean如果设置为true, 在输出标签时将显示出此字段是必须输入的(译者注:如果使用默认模板,将会标示为”*”)
tabindexfalseObject/String在输出元素时设置html属性tabindex
valuefalseObject/String预设input元素的value属性.
onclickfalseObject/String在输出元素时设置html属性onclick
ondblclickfalseObject/String在输出元素时设置html属性ondblclick
onmousedownfalseObject/String在输出元素时设置html属性onmousedown
onmouseupfalseObject/String在输出元素时设置html属性onmouseup
onmouseoverfalseObject/String在输出元素时设置html属性onmouseover
onmousemovefalseObject/String在输出元素时设置html属性onmousemove
onmouseoutfalseObject/String在输出元素时设置html属性onmouseout
onfocusfalseObject/String在输出元素时设置html属性onfocus
onblurfalseObject/String在输出元素时设置html属性onblur
onkeypressfalseObject/String在输出元素时设置html属性
onkeydownfalseObject/String在输出元素时设置html属性onkeydown
onkeyupfalseObject/String在输出元素时设置html属性onkeyup
onselectfalseObject/String在输出元素时设置html属性onselect
onchangefalseObject/String在输出元素时设置html属性onchange
tooltipfalseString设置元素的tooltip属性(译者注:tooltip为工具栏提示)
tooltipConfigfalseString设置tooltip属性的配置
idfalseObject/Stringid是定位元素时使用的. 对于UI和表单标签它会被用作HTML的id属性
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值