Struts2是一个强大的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。它简化了Java Servlet API的使用,并提供了一种更规范的开发方式。以下是关于Struts2的一些关键知识点和实践总结: 1. **依赖库**: 开发Struts2应用时,你需要引入一系列的jar包,包括`commons-logging`,`commons-fileupload`,`freemarker`,`ognl`,`struts2-core`和`xwork`等。这些库分别负责日志处理、文件上传、模板渲染、对象图形导航语言以及核心框架功能。 2. **OGNL表达式**: OGNL(Object-Graph Navigation Language)是Struts2中的默认表达式语言,用于在视图层与模型层之间进行数据交换。在JSP中,可以通过`<%@ page isELIgnored="false" %>`启用EL(Expression Language)并结合OGNL使用,如`${requestScope.count}`来访问session中的值。 3. **日期和脚本处理**: JSP页面中可以包含JavaScript代码来处理日期和时间显示。例如,上述代码会根据当前时间生成问候语,并显示日期和星期。此外,还展示了如何通过外部JS文件(如weather.js)获取天气信息并显示在页面上。 4. **Action类与结果映射**: Struts2的动作(Action)类是业务逻辑的载体,通常每个Action类对应一个特定的功能。在`struts.xml`配置文件中,需要为每个Action指定名称、类、方法及对应的视图结果。例如,`sort5` Action的`sort5list`方法会将数据发送到`/sort1.jsp`作为响应。 5. **JSP页面展示数据**: 使用Struts2标签库(Struts Tags)可以在JSP页面中直接遍历Action返回的结果集。`<s:iterator>`标签可以迭代集合,`<s:property>`标签用于输出属性值。例如,遍历`sort5list`集合并创建链接到其他Action的方法。 6. **超链接参数传递**: Struts2提供了多种传递参数的方式。在HTML链接中,可以将参数直接添加到URL,如`<a href="newdetail2.action?id=123">详情</a>`。另外,还可以使用Struts2的ActionLink或ActionSubmit标签来构造带参数的链接,例如`<s:a action="newdetail2" param="id">123</s:a>`。 7. **结果重定向和转发**: Struts2的`<result>`标签允许配置不同的结果类型,如`redirect`和`dispatcher`。`redirect`是HTTP的重定向,而`dispatcher`是容器内部的请求转发。这在控制页面流向和避免重复提交时特别有用。 8. **拦截器(Interceptor)**: Struts2的拦截器是实现业务逻辑和基础功能(如登录检查、日志记录等)的关键组件。它们按预定义的顺序在Action执行前后执行,允许开发者添加自定义行为而不改变Action代码。 9. **配置和插件**: Struts2具有丰富的可扩展性,支持通过插件添加额外功能,如国际化、数据验证、Ajax支持等。配置文件`struts.xml`可以全局配置整个应用,而`struts-plugin.xml`则用于插件的配置。 10. **异常处理**: Struts2提供了异常处理机制,可以定义全局或特定Action的异常映射,使错误处理更加统一和规范。 Struts2为Java Web开发提供了一个强大且灵活的框架,帮助开发者更好地组织代码、处理用户请求和展示结果。理解并熟练掌握上述知识点,将有助于构建高效、稳定和易于维护的Struts2应用。
剩余17页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助