Struts2中radio标签使用示例

实例:

   表单中的性别选项(radio),界面中需要它有个默认值。

实现方法一:
    1 为sexs集合建立一个bean类(只需要提供Map的get方法):
        public class Sexs{
            public Map<String,String> getSexs(){
                Map<String,String>  sexs
 = new HashMap<String,String>(2);
                sexs.put("m","男");
                sexs.put("f","女");
            }
        }
    2 在界面中使用<s:bean name="Sexs" var="bean" />获得一个Sexs实例
       此时,在radio标签中就可以使用bean了
        <s:radio name="user.sex" list="#bean.sexs" value="'f'">
</s:radio>
        注意:value属性的值是Map中的key,如果key是数字类型的可以写成:value="1", 如果不是,要写成value="'f'"(指出是字符串)。

实现方法二:
    1 为单个的sex元素建立一个bean类:
        Public class Sex{
            Private String key;
            Private String value;
            getters;
}
    2 建立list集合,可以放到Action组件中,也可以再定义一个bean,只要
    能保证在jsp文件需要的时候能得到它,并且有值。
        Public class Sexs{
            Private List<Sex> list = new ArrayList<Sex>();
            Public List<Sex> getList(){
                list.add(new Sex("m","男"));
list.add(new Sex("f","女"));
}
}

    3在jsp文件中使用<s:bean name="Sexs" var="bean"/>获得Sexs实例
    在radio标签中可以使用
    <s:radio name="user.sex" list="#bean.list" listKey="key"
listValue="value" value="'f'">
    </s:radio>


实现方法三 :
直接用数组当选项列表,例如:
    <s:radio list="{'男', '女'}"></s:radio>
这样写不再需要为其提供listKey和listValue,在转换成HTML文档时会自动
变为
<input type="radio" id="checkcode_男" value="男"/>
<label for="checkcode_男">男</label>
<input type="radio" id="checkcode_女" value="女"/>
<label for="checkcode_女">女</label>
这样写很方便,但是不建议用这种方法,因为这样生成的value值中有中文,
可能会出现乱码问题。


radio标签属性说明:
    name属性:与其他标签的作用一样,是与Action组件中属性的关联。
    list属性:生成选项时所用的集合,可以是数组或者集合,如果是Map,则
            会自动填充键值对,例如方法一中显示的是男和女,提交时传递的
            是m和f。如果是List,则还需要为其提供键列表和值列
表,如方法二中所示。
    listKey属性:指定键列表
    listValue属性:指定值列表

复选框(checkboxlist),下拉列表(select)等标签都有这些属性,用法相似。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值