最近在做一个下拉框时,一开始使用循环迭代,后来发现有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
相关推荐
在JSP页面中,我们可以使用Struts2的标签库(例如`s:textfield`, `s:checkbox`, `s:select`等)来创建表单元素,并将这些元素与Action的属性绑定。对于集合类型,我们通常会在JSP中通过迭代器遍历并生成多个表单...
5. **Select标签** - `<s:select>` 用于创建下拉列表。 - 示例: ```xml <s:select tooltip="Chooseuser_type" label="" list="#{'free':'免费','vip':'会员'}" value="#{'free':''}" name="bean.user_type" ...
在Struts2框架中,实现页面`<select>`标签默认选中的功能是非常实用且常见的需求。这不仅可以提高用户体验,还能让界面看起来更加专业。本文将详细介绍如何通过Struts2的相关标签来实现这一功能。 ### Struts2框架...
接下来,我们将详细介绍Struts2 S标签库中的一些常用标签及其功能。 #### 三、具体标签详解 1. **`<s:a>`** - 用于生成HTML的`<a>`标签。 - **示例**: ```jsp <s:a href="%{actionURL}">链接文本</s:a> ``` ...
而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `<%@ taglib prefix="s" uri="/struts-tags" %>` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...
1. <s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值 C: 1. <s:checkbox></s:checkbox>-----复选框 2. <s:checkboxlist list=""></s:checkboxlist>-----多选框 3. <s:combobox list=""></s:...
以上只是Struts2标签库的一部分,实际使用中还有更多标签如`<s:textfield>`(文本输入框)、`<s:textarea>`(文本区域)、`<s:submit>`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。...
在Struts2中,所有的标签都统一在`<s>`前缀下,通过引入`<%@ taglib prefix="s" uri="/struts-tags" %>`就可以在页面上使用这些标签。 **A组标签:** 1. `<s:a>` - 用于创建超链接,与HTML的`<a>`标签类似,可以...
本篇文章将详细介绍在Struts2中如何使用`s:select`标签,以及通过几个具体例子来展示其用法。 1. 第一个例子: ```jsp <s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:...
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
* <s:bean>:类似于 Struts1.x 中的 JavaBean 的值 C: * <s:checkbox>:复选框 * <s:checkboxlist>:多选框 * <s:combobox>:下拉框 D: * <s:date>:获取日期格式 * <s:datetimepicker>:日期输入框 * <s:...
本文将详细介绍Struts2中的常用标签及其用法,并通过具体的实例来帮助理解。 #### 二、Struts2标签库详解 ##### 1. `<s:a>` 超链接标签 - **用途**:创建一个超链接。 - **示例代码**: ```xml <s:a href="%{url...
8. **主题和皮肤标签(Theme and Skin Tags)**:Struts2提供了多种主题和皮肤,通过`<s:set>`和`<s:theme>`标签可以改变页面的外观。 在实际使用中,Struts2标签的灵活性和便利性体现在数据绑定上,它可以直接与...
除了`<s:textfield>`,Struts2还提供了多种表单标签,如`<s:password>`用于创建密码输入框,`<s:textarea>`用于创建多行文本输入框,`<s:radio>`和`<s:checkbox>`用于创建单选按钮和复选框,以及`<s:select>`用于...
2. **UI组件标签**:Struts2提供了多种UI组件标签,如文本输入框 `<s:textfield>`,复选框 `<s:checkbox>`,下拉列表 `<s:select>`等,它们不仅包含HTML元素,还带有验证和错误处理功能。 3. **逻辑控制标签**:...
- `<s:select>`:创建下拉选择框,可以从集合或数组中获取选项。 - `<s:debug>`:用于调试,显示当前ActionContext中的所有信息。 - `<s:url>`:生成URL,支持动态参数和动作调用。 - `<s:i18n>`:国际化标签,...
这个例子展示了如何使用Struts2的`<s:form>`、`<s:textfield>`、`<s:password>`、`<s:email>`和`<s:fielderror>`标签创建一个包含用户输入验证的注册表单。 五、源码与工具 理解Struts2标签的实现原理,可以查看其...
`<s:actionmessage>` 和 `<s:actionerror>` 标签用于显示Action级别的消息和错误,这些通常与Struts2的全局消息和错误处理机制配合使用。 10. **Tag Attributes** 每个Struts2标签都有许多可配置的属性,这些属性...
`<s:a>` 相当于HTML的 `<a>` 标签,但提供了与Struts2框架的集成,可以动态生成URL。`<s:action>` 则用于在页面上触发一个特定的Action。 B. `<s:bean>`: 此标签类似于Struts1中的JavaBean引用,但在Struts2中并不...
例如:<s:append id="myAppendIterator"> <s:param value="%{myList1}" /> <s:param value="%{myList2}" /> <s:param value="%{myList3}" /></s:append><s:iterator value="%{#myAppendIterator}"> <s:property /></...