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

Struts2中radio标签使用示例

2011-01-21 23:26 459 查看
实例:

表单中的性别选项(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)等标签都有这些属性,用法相似。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: