"本文档主要介绍了Struts2框架中关于Action的使用,包括实现Action类、访问ActionContext、直接访问ServletAPI、配置Action、类型转换、使用通配符以及动态方法调用。文档出自闽江学院软件学院程序教研室,旨在帮助学习者掌握Java Web开发中的Struts2核心概念和技术。"
1、实现Action控制类
在Struts2框架中,Action可以是任何普通的Java对象(POJO),但通常为了便于开发和遵循最佳实践,我们会选择继承`ActionSupport`类。`ActionSupport`提供了数据校验、错误处理和国际化信息等功能,使得Action的实现更加简洁和规范。
2、访问ActionContext
ActionContext是Action执行时的上下文对象,它包含了请求、会话、应用级的数据。通过`ActionContext.getContext()`可以获取当前线程的ActionContext实例,然后调用其提供的方法如`get()`、`put()`等来获取或设置数据。
3、直接访问ServletAPI
虽然ActionContext是访问ServletAPI的一种间接方式,但有时我们可能需要直接操作ServletAPI,例如获取HttpServletRequest或HttpServletResponse对象。这可以通过在Action中注入这些对象或者从ActionContext中获取来实现。
4、配置Action
Struts2允许通过XML配置文件或注解的方式来配置Action。配置包括Action的名称、方法映射、结果页面等。使用通配符可以简化配置,例如`*_*-*`,其中`*`代表一个或多个字符,多个`*`之间需有分隔符。在method和result中,可以使用`{1}`、`{2}`等来引用通配符。
5、动态方法调用
动态方法调用允许根据传入的字符串动态地调用Action中的方法,增强了Action的灵活性。例如,请求URL中的方法名可以与Action类的方法名匹配,Struts2会自动调用对应的方法。
6、类型转换
Struts2提供了自动类型转换机制,能够将请求参数自动转换为Action属性的类型。此外,开发者还可以自定义转换器,覆盖默认的行为,以满足特定类型的转换需求。
7、使用通配符
通配符主要用于Action的配置,比如在Action的名称中使用`*`,可以匹配多个不同的请求路径。在处理结果时,通过`{1}`、`{2}`等占位符引用通配符,实现动态路由到不同的结果页面。
总结,这个文档详细讲解了Struts2框架中Action的各个重要方面,从Action的实现、ActionContext的使用,到ServletAPI的访问,再到Action的配置和动态方法调用,最后提到了类型转换和通配符的运用。这些都是开发基于Struts2的Java Web应用程序时必须掌握的关键技能。