Struts2 表单标签 checkboxlist 使用详解
需积分: 7 89 浏览量
更新于2024-08-18
收藏 286KB PPT 举报
本文主要介绍了Struts2框架中的表单标签`<s:checkboxlist>`,它是Struts2三大框架之一的重要组成部分,用于创建复选框列表。该标签允许开发者根据集合数据动态生成多选框,并能设置默认选中项。
在Struts2中,`<s:checkboxlist>`标签可以接受两种类型的数据源:List和Map。当数据源为List时,如以下示例所示:
```xml
<s:checkboxlist name="list" list="{'Java','.Net','RoR','PHP'}" value="{'Java','.Net'}"/>
```
这将生成四个复选框,分别对应值'Java'、'.Net'、'RoR'和'PHP',其中'Java'和'.Net'会被预设为选中状态。生成的HTML代码会显示为:
```html
<input type="checkbox" name="list" value="Java" checked="checked"/><label>Java</label>
<input type="checkbox" name="list" value=".Net" checked="checked"/><label>.Net</label>
<input type="checkbox" name="list" value="RoR"/><label>RoR</label>
<input type="checkbox" name="list" value="PHP"/><label>PHP</label>
```
如果数据源是Map,比如:
```xml
<s:checkboxlist name="map" list="#{1:'瑜伽用品',2:'户外用品',3:'球类',4:'自行车'}" listKey="key" listValue="value" value="{1,2,3}"/>
```
这会根据Map的键值对创建复选框,其中键作为值,值作为标签文本。在这种情况下,键1、2和3会被选中。生成的HTML代码如下:
```html
<input type="checkbox" name="map" value="1" checked="checked"/><label>瑜伽用品</label>
<input type="checkbox" name="map" value="2" checked="checked"/><label>户外用品</label>
<input type="checkbox" name="map" value="3" checked="checked"/><label>球类</label>
<input type="checkbox" name="map" value="4"/><label>自行车</label>
```
Struts2框架是基于Java的MVC(模型-视图-控制器)架构,它简化了Web应用程序的开发。为了使用Struts2,开发者需要下载相关的JAR文件,包括核心库、XWork库、OGNL表达式语言、FreeMarker模板引擎以及Apache Commons Logging。在项目中,Struts2是通过Filter启动的,配置在`web.xml`中,如:
```xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
Struts2框架提供了丰富的标签库,使开发者能够方便地创建交互式的用户界面,而`s:checkboxlist`就是其中之一,它极大地提高了开发效率和代码的可维护性。
106 浏览量
104 浏览量
124 浏览量
152 浏览量
2009-07-15 上传
132 浏览量
2008-04-16 上传
148 浏览量
113 浏览量
活着回来
- 粉丝: 28
- 资源: 2万+
最新资源
- 城市信息服务公司网页模板
- StatusFrost - Statistics on Your Browsing-crx插件
- 码头工人
- redis-5.0.8-x64-for-windows.zip
- 网络游戏-基于遗传算法过采样支持向量机的网络入侵检测方法.zip
- Ember_Super_Rentals
- pedurma-double-tsek
- 蓝色教育资料库网页模板
- XSdropship-crx插件
- CrimeReporting:使用Java开发的CrimeReporting应用程序
- qt_font_freetype.tar.gz
- trainable-handwriting-recognizer:可训练的手写识别器
- francescogiancipoli.io:这是我的第一个仓库
- CAYOVA Box-crx插件
- 基于设计模式的绘板程序
- vifm-colors:Vifm文件浏览器的各种Colorchemes