`

Struts2几个常用标签的主要属性及示例(四)

阅读更多

6 radio

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

 

Attributes

Description

name

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

list

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

listKey

生成的radio input元素的value属性

listValue

生成的radioinput元素的显示内容

 

Jsp code:

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

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

 

在这里通过action标签配置了一个initactionlist属性也不是通过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标签调用的   actionstruts.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,这个属性的值必须为可迭代类型或者是数组类型,比如listsetarray,用以显示所有的选择项。如果list的值为Map,则mapkey对应option的值,mapvalue对应option的显示内容

listKey

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

listValue

生成的selectoption元素的显示内容

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

参照comoboboxprepare action

 

Action class:

private String mySelection; //with getter/setter method

 

Result:

mySelection变量通过选中的optionvalue属性来赋值

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics