首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-12-18 
Struts2常用标签属性及示例-4radio标签生成一个或多个radio类型的input元素。这里可以参照checkboxlist的用

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:

热点排行