欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Struts 2 中的标签介绍

程序员文章站 2022-07-08 23:46:55
...

最近在做一个下拉框时,一开始使用循环迭代,后来发现有struts2的<s:select>标签 学习下、

 

1.<c:forEach>

      在action 层 request.setAttribute("list",list);

      在jsp 

 

<select id="queryObjectId" name="queryObjectId">                                           <option value="">--请选择--</option>
     <c:forEach items="${listHealthSystem}" var="list" varStatus="status">
          <option value='${list.systemId}'>${list.systemName}</option>
     </c:forEach>
</select>

 2.<s:select>

    在action层  写一个返回值为List<?> 类型的 public 方法 (list内存放着要展示的数据)

public List<HealthSystem> getHealthSystemList(){
	return healthSystemService.getHealthSystemList();
}

   在jsp

    

<s:select id="healthSystemId" name="healthSystemId" list="healthSystemList" listKey="id" listValue="healthSystemName" value="#request.healthSystemName">
</s:select>

   ok了。

 

上面是我在做东西时的代码。

下面介绍<select>的属性。

 

首先你要用到select,可以只使用 <s:select>标签,解释下这个标签属性:
headerValue : 默认值value
headerKey :    默认name
list : 源数据 (可以在action方法里从数据库获取list)
name : 被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>)
listKey : 下拉选项的name
listValue : 下拉选项的value
value : 默认值

但是一个下拉列表往往是可以重复使用的,那么我们将它单独定义到一个action中,这里我的action的namespace是system,所以如我们上面定义的<s:action>标签:
name : 源数据名(对应get方法名)
namespace : 我们在struts.xml中定义的name
id : 相当于别名(在后面调用该actiond的时候直接用#号使用)

 

struts2的select标签中,常用的有以下几个属性:

(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。

(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。如:

<s:select   name="geElement.childType" list="childTypeList" listKey="key"  listValue="value" headerKey="0" headerValue="--请选择子类型--"/>   
其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。注意,headerKey不可以为空,不可以为-1。

(3)list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。

(4)listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option。

(5)name属性:即是表单中select的名称。

 

 

列子:

1.第一个例子:

 

<s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>

 

2.第二个例子:

 

<s:select list="#{1:'aa',2:'bb',3:'cc'}"  label="abc" listKey="key" listValue="value"  headerKey="0" headerValue="aabb">

 

 就到这吧。。。vv

      

相关标签: Struts2 标签