`
自动放假
  • 浏览: 25032 次
文章分类
社区版块
存档分类
最新评论

struts2 spring集成时struts.xml文件中action的class属性值意义

 
阅读更多

struts2单独使用时action由struts2自己负责创建;与spring集成时,action实例由spring负责创建。这导致在两种情况下struts.xml配置文件的略微差异。

假如:LoginAction在包cn.edu.jlu.cs.action中。

1. struts2单独使用时,action的class属性为LoginAction的全路径名,如下:
...
<action name="login" class="cn.edu.jlu.cs.action.LoginAction">
<result name="studentSuccess">
/student/studentindex.jsp
</result>
...
2. struts2与spring集成时,class属性是spring的applicationContext.xml中配置的bean的id属性值。
---------------------------------------------------------------------------------------
//struts.xml
...
<action name="login" class="LoginAction">
<result name="studentSuccess">
/student/studentindex.jsp
</result>
...
----------------------------------------------------------------------------------------
//applicationContext.xml
...
<bean id="LoginAction" class="cn.edu.jlu.cs.action.LoginAction" />
...
----------------------------------------------------------------------------------------

struts2-spring-plugin-2.1.6.jar这个插件在产生action的时候,会自动的按照名字把action的属性注入进去,

即使不在spring配置文件中为相关的action(bean)注入属性或者在action类中用注解注入,

它也会按照action类中属性的名字从当前容器(??Spring中找有没有这个名字的bean并注入进来,或者显示的给定一个名字注入。

所以actionid(spring配置文件中的)不要和它类里边的变量名相同

如果在struts.xml文件中配置actionclass是指向action的实际类,那么action的产生由struts控制,

此时action类中的相关变量会按照名称从容器中注入一个相应的bean,如果找不到对应名称的bean,一旦调用这个action就会出错,

但是如果此时为变量加上一个@Resource注解,struts容器产生过action后就会从Spring容器中找相应的bean注入。

如果class指向的是一个伪控制器(对应spring配置文件中actionbean),那么action的产生由spring控制。

此时action类中的相关变量··必须··用注解@Resource或者xml的方式自定义注入相应的bean,不象之前会按照名字从spring容器中自动查找注入bean

否则程序运行出错

分享到:
评论

相关推荐

    struts2-spring-plugin-2.5.13.jar

    搭建struts2 + spring框架时需要使用的关联jar struts.xml中action的属性class引用applicationContext中bean的属性id指向的值

    struts+spring文件上传大小限制.rar

    当Struts和Spring一起使用时,文件上传的处理通常在Action类中完成,这里需要集成Spring的`@Autowired`注解和Struts的`ActionForm`。Spring的`@RequestParam`注解可以用来获取`CommonsMultipartFile`对象。同时,...

    整合struts2和spring源代码(可以直接在tomcat中运行)

    当创建一个对象的时候,它会用Struts2配置文件中的class属性去和Spring配置文件中的id属性进行关联,如果能找到,则由Spring创建,否则由Struts 2框架自身创建,然后由Spring来装配。Spring插件具体有如下几个作用:...

    struts.xml和struts.properties配置详解

    总结,`struts.xml`和`struts.properties`是Struts2框架中至关重要的配置文件,通过它们可以灵活地控制应用的行为和设定。理解并熟练运用这两个文件,对于开发高质量的Struts2应用至关重要。在实际项目中,开发者应...

    struts2+hibernate_spring的整合说明文档

    这样,当Struts2需要创建Action实例时,它会从Spring容器中查找并使用已配置好的bean。 5. **Action类的Spring管理** 在`applicationContext.xml`中,你需要定义Action类的bean,包括它的依赖和其他属性。例如: ...

    struts spring集成【下】

    3. **Action类的配置**:在Struts2的配置文件(通常是`struts.xml`或`struts-plugin.xml`)中,我们不再直接创建Action类的实例,而是通过Spring的ID来引用。例如: ```xml &lt;action name="someAction" class=...

    Struts2整合Spring.docStruts2整合Spring.doc

    除了上述基本配置,还可以使用注解(如 `@Autowired`)来进一步细化装配逻辑,或者使用 `&lt;property&gt;` 标签在 Spring 配置文件中手动设置 Action 的属性值。 8. **运行与测试**: 完成以上配置后,启动服务器,...

    Struts2整合spring的步骤.txt

    - 在`struts.xml`中定义Action及其对应的方法时,可以通过`class`属性指定具体的Bean名称: ```xml &lt;action name="userAction" class="userAction"&gt; &lt;result&gt;/success.jsp &lt;/action&gt; ``` 通过以上步骤,可以...

    Struts2属性文件详解

    指定了Struts 2生成URL时是否包含请求参数,可接受`none`、`get`和`all`三个属性值,分别对应于不包含、仅包含GET类型请求参数和包含全部请求参数。 #### struts.custom.i18n.resources 指定了Struts 2应用所需的...

    第十二章 开发Struts 2+Spring应用.pdf

    2. **配置Struts 2**:在Struts.xml文件中使用`&lt;constant&gt;`标签指定Spring容器的位置。 3. **使用Spring创建Action**:在Action类中注入所需的Spring托管对象。 ```xml &lt;!-- applicationContext.xml --&gt; ...

    struts2核心配置文件

    `struts.xml` 文件是Struts2的核心配置文件之一,主要负责管理和定义应用程序中的Action映射以及相关的Result定义。具体来说,该文件包括以下几个关键部分: 1. **Action 映射**: - 指定每个Action的名称、执行的...

    struts2+hibernate+spring经典整合实例教程

    2. **配置 Action**:在 `struts.xml` 中添加 LoginAction 的配置。 - 定义 `action` 元素,指定类和方法。 - 配置 `result` 元素,根据执行结果跳转至不同页面。 3. **实现页面交互**:创建 `login.jsp` 和 `...

    Struts2的使用-实验报告.docx

    4. 实践MVC模式在Struts2中的应用。 二、实验内容与步骤 1. 注册功能实现: 创建一个Action类,包含username、password和address三个String属性,并定义execute()方法处理注册请求。成功时重定向至success页面,...

    详解struts2中struts.properties.doc

    在Struts2中,配置文件起着至关重要的作用,其中`struts.xml`用于管理Action映射和Result定义,而`struts.properties`文件则用于定义框架的全局属性。这个文件是基于Properties格式的,存储了一系列键值对,用于定制...

    struts hibernate spring 知识点

    在Struts2中,Action是核心组件,它实现了业务逻辑处理。Struts2的配置文件包括web.xml和struts.xml,前者用于配置Servlet容器,后者则用于定义Struts2的行为。 1. Struts2的Action开发通常需要配置web.xml,struts...

    struts+spring+mybatis+hibernate的dtd文件

    2. Spring DTD:Spring框架主要通过`beans.xml`或`applicationContext.xml`文件进行配置,这些文件可以使用DTD来定义bean、property、ref等元素。Spring的DTD提供了声明bean及其依赖关系、属性注入等能力。例如,`...

    myeclipse6中整合struts2和spring框架

    - **Struts2 配置**:在 `struts.xml` 文件中配置 `&lt;package&gt;`,使用 `&lt;action&gt;` 标签的 `class` 属性指向 Spring Bean 的全限定类名。 #### 12.5 实现文件上传下载 文件上传和下载是 Web 应用中常见的需求。...

    Struts2的总结和Strut2集成Spring

    动态Action的配置通常在struts.xml文件中进行,通过指定`&lt;action&gt;`元素的属性`name`和`class`,以及通过`method`属性动态选择Action的方法。 #### Struts2标签库 Struts2的标签库提供了一系列功能强大的标签,用于...

    struts2常量详解

    本文将深入探讨Struts2中的常量配置,这些常量在框架的运行时扮演着至关重要的角色。 首先,我们要了解Struts2配置文件的层次结构。主要有以下几个核心配置文件: 1. **struts-default.xml**:这是Struts2核心库中...

    (struts)Struts2的开发步骤

    在`struts.xml`中定义Action时,可以指定Action的类,而该类可以通过Spring注入其他Bean。例如: ```xml &lt;action name="login" class="com.example.AccountAction"&gt; &lt;result name="success"&gt;/success.jsp ...

Global site tag (gtag.js) - Google Analytics