Struts2常用标签属性及示例-4

radio标签生成一个或多个radio类型的input元素。这里可以参照checkboxlist的用法。



Attributes
Description

name
对应action中的属性名称,属性的类型即是listKey的值所对应的类型

list
Required,这个属性的值必须为可迭代类型或者是数组类型,比如list,set,array。用以显示所有的选择项。如果list的值为Map,则map的key对应radio的值,map的value对应radio的显示内容

listKey
生成的radio 的input元素的value属性

listValue
生成的radio的input元素的显示内容




Jsp code:


<s:action name="init" id="init" />

<s:radio label="Chose Interest" name="interest" list="#init.listHobby" listKey="hobbyId" listValue="hobbyName" />




在这里通过action标签配置了一个init的action,list属性也不是通过session取的数据,这是prepare数据的另一种方式,即是由jsp调用action来准备数据,而不是前面通过action先准备好数据再跳转到jsp。这要根据实际需求,来决定是用什么方式来准备数据。



Page source code:


<input type="radio" name="interest" id="testTags_interest1" value="1"/><label for="testTags_interest1">Football</label>

<input type="radio" name="interest" id="testTags_interest2" value="2"/><label for="testTags_interest2">Basketball</label>




Prepare action:

因为是通过<action>标签来调用action,如果不通过session中取数据,那么调用的action必须有list的变量并在execute方法中对list赋值:


private List<Hobby> listHobby; //with getter/setter method

public String execute() throws Exception {

List<Hobby> listHobby= new ArrayList<Hobby>();

//deal with listHobby.

return SUCCESS;

/*这里结果跳转是不起作用的,因为通过action标签调用的 action在struts.xml中的result会被忽略,除非标签配置了executeResult属性*/

}




Action class:

用法和checkboxlist一样,只是radio的结果是单值而不是数组,所以要定义一个String或者Long型变量来绑定到页面的radio控件上


private String interest; //with getter/setter method




Result:


Interest的值就是页面上选中的 radio对应的value属性的值





7 select 和 optgroup

select标签相当于用combobox标签的显示结果去掉上面的输入域。optgroup标签嵌入select标签使用,将一个list导入到select的选项集里,进行了选项的分组。



Attributes
Description

name
对应action中的属性名称,属性的类型即是listKey的值所对应的类型

list
Required,这个属性的值必须为可迭代类型或者是数组类型,比如list,set,array,用以显示所有的选择项。如果list的值为Map,则map的key对应option的值,map的value对应option的显示内容

listKey
生成的select 的option元素的value属性,也即是选择某个option后,text field显示的内容

listValue
生成的select的option元素的显示内容

headerKey
设置第一个选项的值

headerValue
设置第一个选项的显示内容




Jsp code:


<s:select label="My Selection" name="mySelection" value="%{'POPEYE'}"

list="%{#{'SUPERMAN':'Superman','SPIDERMAN':'spiderman'}}">

<s:optgroup label="Adult" list="%{#{'SOUTH_PARK':'South Park'}}" />

<s:optgroup label="Japanese"

list="%{#{'POKEMON':'pokemon','DIGIMON':'digimon'}}" />

</s:select>




Page source code:


<select name="mySelection" id="testTags_mySelection">

<option value="SUPERMAN">Superman</option>

<option value="SPIDERMAN">spiderman</option>

<optgroup label="Adult"><option value="SOUTH_PARK">South Park</option></optgroup>

<optgroup

label="Japanese">

<option value="POKEMON">pokemon</option>

<option value="DIGIMON">digimon</option>

<option value="SAILORMOON">Sailormoon</option>

</optgroup>

</select>




Prepare action:

参照comobobox的prepare action:



Action class:


private String mySelection; //with getter/setter method




Result:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值