Struts2框架入门:Action属性封装配置参数解析

需积分: 9 0 下载量 117 浏览量 更新于2024-08-17 收藏 1.58MB PPT 举报
"使用Action类的属性封装配置参数在Java EE的主流开源框架Struts2中是一个关键概念,它允许开发者在`struts.xml`配置文件中为Action配置参数,以便在程序运行时动态传递和使用这些参数。Action类是Struts2 MVC框架的核心组成部分,负责接收请求、处理业务逻辑和转发控制。以下是对这个主题的详细阐述。 Struts2框架是基于MVC模式的,其控制器组件由一系列拦截器和Action组成。在开始之前,需要了解Struts2的工作原理:用户发送HTTP请求,请求经过`FilterDispatcher`过滤器,然后由ActionMapper定位到相应的Action,ActionProxy创建ActionInvocation实例,该实例会按照拦截器栈执行拦截器和Action的execute方法,最后根据配置的result导航到结果页面。 配置Action参数的过程如下: 1. **在struts.xml中配置**:在配置文件中,可以使用`<param>`元素为Action添加参数,例如: ```xml <action name="Test" class="com.etc.action.TestAction"> <result name="success">/testaction.jsp</result> <param name="rate">1.0</param> </action> ``` 这里`TestAction`是Action类的全限定名,`rate`是参数名,`1.0`是参数值。 2. **Action类中的getter和setter**:在对应的Action类中,你需要为每个配置的参数创建getter和setter方法。例如,对于上面的`rate`参数,你需要在`TestAction`类中定义: ```java private double rate; public double getRate() { return rate; } public void setRate(double rate) { this.rate = rate; } ``` 这样,Struts2框架在运行时会自动调用setter方法设置参数值,使得Action实例可以访问这些配置的参数。 3. **在Action中使用参数**:Action类的execute方法或其他业务方法中,你可以通过getter方法获取配置的参数值,然后进行业务处理。 Struts2的拦截器机制使得开发者能够方便地扩展和控制Action的执行流程。拦截器在Action执行前后运行,提供了诸如事务管理、日志记录、权限验证等通用功能,同时拦截器还可以用来获取和处理请求参数,增加了代码的可复用性和灵活性。 在实际应用中,Struts2框架不仅支持Action的参数配置,还支持更复杂的配置方式,如使用注解来定义Action、Result和参数。此外,Struts2提供了丰富的JSP标签库,简化了视图层的开发,并且可以与其他视图技术(如FreeMarker、Velocity等)无缝集成。 通过Action类的属性封装配置参数是Struts2中实现动态参数传递和业务处理的重要手段,结合拦截器和MVC模式,使得Struts2成为一个强大且灵活的Java EE应用程序开发框架。"