Struts2教程:入门与常用配置解析
需积分: 9 176 浏览量
更新于2024-09-22
收藏 577KB PDF 举报
"本教程主要介绍Struts2框架中常用的标签和配置,以及数据验证方法。"
在Struts2教程中,我们将深入理解这个强大的MVC框架的各个方面。Struts2并非Struts1.x的简单升级,而是基于Webwork技术构建的新一代框架。尽管它依然遵循MVC模式和动作驱动的设计,但在实现方式上有了显著变化。
首先,我们来回顾一下传统的Struts1.x开发流程,以便对比Struts2的不同之处:
1. 安装Struts1.x,这需要在`web.xml`中配置ActionServlet。
2. 创建Action类,通常继承自`org.apache.struts.action.Action`。
3. 编写ActionForm类,通常继承自`org.apache.struts.action.ActionForm`,用于封装请求参数。
4. 设计JSP页面,使用Struts1.x的标签如`<html:form>`、`<bean:write>`等。
5. 配置Struts-config.xml文件,定义Action和ActionForm的映射关系。
而在Struts2中,这些步骤有了简化和改进:
1. 不再需要单独配置ActionServlet,Struts2通过FilterDispatcher或StrutsPrepareAndExecuteFilter进行处理。
2. Action类现在通常实现`com.opensymphony.xwork2.Action`接口或继承`ActionSupport`类,提供了更多内置功能。
3. Struts2不再强制使用ActionForm,而是可以直接在Action类中获取请求参数,减少了类的创建。
4. JSP页面可以使用更灵活的Struts2标签库,如`s:form`、`s:textfield`等,这些标签具有更强的表达能力和类型安全特性。
5. 配置文件变为struts.xml,XML结构更加简洁,且支持注解配置,使得Action和结果的映射更为直观。
关于Struts2的常用标签:
- `s:textfield`:用于创建输入字段,可以设置名称、ID、初始值等属性,并有自动数据绑定功能。
- `s:textarea`:用于创建多行文本输入框。
- `s:checkbox`和`s:checkboxlist`:用于创建单选或多选框。
- `s:radio`和`s:radiobuttons`:用于创建单选按钮组。
- `s:submit`:创建提交按钮。
- `s:reset`:创建重置按钮。
- `s:actionerror`和`s:fielderror`:显示错误信息,用于数据验证后的反馈。
- `s:property`:显示对象属性的值,可以用于显示模型数据。
Struts2的常用配置:
- `struts.xml`:定义Action类、结果类型、拦截器栈等。
- `<package>`元素:定义一个配置包,包含Action、拦截器和其他配置。
- `<action>`元素:定义一个Action,包括名字、类、结果等。
- `<result>`元素:定义Action执行后跳转的目标页面或结果。
- `<interceptors>`和`<interceptor-ref>`:配置拦截器,用于添加全局或Action级别的拦截逻辑。
此外,Struts2还提供了强大的数据验证机制,通过`validation.xml`或注解在Action类中定义验证规则,能够对用户输入进行校验,确保数据的准确性和安全性。
Struts2提供了一套更为高效、灵活的MVC框架,其丰富的标签库简化了视图层的开发,而精细的配置和数据验证机制则保证了应用的稳定性和可维护性。学习并掌握Struts2,将有助于开发者构建高质量的Java Web应用。
2009-05-07 上传
2009-12-23 上传
2010-05-27 上传
2012-11-08 上传
2009-05-31 上传
2023-08-23 上传
2019-03-15 上传
点击了解资源详情
点击了解资源详情
tian__ing
- 粉丝: 0
- 资源: 5
最新资源
- Resolver COM object-开源
- QIM_DCT.zip_图形图像处理_matlab_
- fastchess:通过单矩阵乘法预测最佳国际象棋棋步,准确率达到27.5%
- EnergyEfficientMedianFilterOnFPGA-Group:基于VHDL消除图像中的噪点
- django-keepcool:Django 项目的通用单元测试生成器
- CATIA V5R21钣金设计经典实例视频教程下载实例17 电源外壳组件.zip
- 基于STM32+OpenMV设计的识别灯自动停车的智能小车 .zip(毕设/课设/竞赛/实训/项目开发)
- ludumdare32:[合并到tobypinder] Apt - Advanced Persistent Threat
- PHP实例开发源码—新版php米酷在线视频影视系统源码 V7.0.3 完整版(带解析接口).zip
- cha-bu.rar_Windows编程_Visual_Basic_
- mongoose-history-log:将事件集合添加到架构
- mz-assistant:经理专区助理
- CATIA V5产品设计经典实例视频教程下载实例19 咖啡壶.zip
- NissanDefinitions:A2L支持的Nissan 350z和Infiniti G35 ROM。 不支持任何其他车辆
- VUE的股票配资系统点策略.zip
- pso_故障诊断_机械故障_支持向量机_PSO_