Struts2框架下拉选择框详解及与Struts1对比
需积分: 21 201 浏览量
更新于2024-08-18
收藏 493KB PPT 举报
本文主要探讨了HTML中的表单标签`<select>`,以及Struts2框架中`s:select`标签的使用,特别针对Java程序员进行讲解。文章通过示例展示了如何创建下拉选择框,并对比了Struts1和Struts2的区别。
在HTML中,`<select>`标签用于创建下拉列表,用户可以从中选择一个或多个选项。例如:
```html
<select name="list" id="list">
<option value="Java" selected="selected">Java</option>
<option value=".Net">.Net</option>
</select>
```
在这个例子中,`<select>`标签定义了一个名为"list"的选择框,`id`属性用于唯一标识该元素。`<option>`标签则定义了可以选择的值和显示文本。`value`属性是选项的值,`selected`属性表示默认选中的选项。
在Struts2框架中,`<s:select>`标签提供了更为灵活的选项绑定。例如:
```jsp
<s:select name="list" list="{'Java','.Net'}" value="'Java'"/>
```
这里,`list`属性用于绑定一个Java集合,如数组或列表,其值会作为下拉选项。`value`属性指定了默认选中的值。
对于对象和映射的绑定,Struts2同样提供了支持:
```jsp
<s:select name="beans" list="#request.persons" listKey="personid" listValue="name"/>
<s:select name="map" list="#{1:'瑜珈用品',2:'户外用品',3:'球类',4:'自行车'}" listKey="key" listValue="value" value="1"/>
```
在上述例子中,`listKey`和`listValue`分别指定了集合中用于显示和值的属性。`#request.persons`通常是从请求上下文中获取的Map,`personid`和`name`是Map中的键和值。而对于直接的Map对象,如示例中的#{...},`key`和`value`属性则直接对应Map的键和值。
接下来,文章提到了Struts框架的发展历程。Struts1虽然在早期非常流行,但由于其与JSP/Servlet的紧密耦合,以及单一的表现层技术,逐渐暴露出一些问题。因此,Struts2应运而生,它融合了WebWork框架,解决了Struts1的很多局限性,提供了更强大的拦截器机制和更灵活的视图层支持。
Struts2的处理流程大致如下:
1. 浏览器发起请求。
2. FilterDispatcher(核心控制器)根据请求调用相应的Action。
3. WebWork的拦截器链处理通用功能,如验证。
4. Action的`execute`方法执行业务逻辑。
5. 处理结果返回给浏览器,支持多种视图展示方式。
与Struts1相比,Struts2的改进包括但不限于:
- 更低的侵入性,减少对API的依赖。
- 拦截器链使得扩展性和可测试性更强。
- 支持更多视图技术,如FreeMarker和Velocity等。
- 更好的类型安全性和动态方法调用。
本资源提供了关于HTML`<select>`标签和Struts2`s:select`标签的基础知识,同时深入介绍了Struts1与Struts2框架的差异和改进之处,对于理解Java Web开发中的表单处理和MVC框架有很好的帮助。
496 浏览量
2717 浏览量
2016-08-24 上传
164 浏览量
4363 浏览量
133 浏览量
276 浏览量

辰可爱啊
- 粉丝: 20
最新资源
- 错误日志收集方法及重要性分析
- Hadoop2.5.0 Eclipse插件使用教程与功能解析
- 中航信业务系统深入分析文档
- IDEA使用教程课件完整指南
- 免费PDF编辑工具套装:PDFill PDF Tools v9.0
- 掌握ArcEngine中贝塞尔曲线的绘制技巧
- 12寸与14寸触摸屏电脑驱动下载指南
- 结构化主成分分析法:深入解析Structured PCA
- 电脑报价平台V3.07:绿色免费,实时更新电脑及笔记本报价
- SCSS投资组合页面样式设计与优化
- C语言基础实例及操作指南
- 新算法加速计算定向盒AABB的探索与分析
- 基于Java的餐馆点餐系统功能实现
- 探索Android SD卡:文件系统浏览器深度探索
- 基于Tomcat的浏览器十天免登录功能实现
- DCMTK 3.6.4版本源码压缩包发布