采用DelegatingRequestProcessor将处理转发给Spring容器中的bean (比如:struts action)
DelegatingRequestProcessor继承自RequestProcessor。为了让Struts使用DelegatingRequestProcessor,还需要在struts-config.xml文件中增加如下代码:
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" />
这一行代码是告诉Struts用DelegatingRequestProcessor来代替原来的RequestProcessor。完成设置这个设置后,Struts会将拦截到的用户请求转发到Spring context下的bean,根据bean的name属性来匹配。而Struts中的action配置则无需配置type属性(即使配置了type属性也不起任何作用,除非在spring的配置文件里找不到对应的name属性值,除非这个条件直到今天才知道。记下来备忘:))。
配置了上面的一行代码后,就可以在Spring的配置文件(可以不是applicationContext.xml,比如假设这里是action-servlet.xml)中配置用来处理请求的Action bean了。配置的时候需要注意的是Action bean不再需要id属性,而要用name替代id属性,这时name属性的值应与struts-config.xml中配置的Action的path属性的值相同。
这样,处理请求的Action就能处于Spring的管理之下了。
|
相关推荐
org.springframework.web.struts.DelegatingRequestProcessor.class org.springframework.web.struts.DelegatingTilesRequestProcessor.class org.springframework.web.struts.DispatchActionSupport.class org....
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/> ``` - **常见错误处理**: - 错误示例:当 Spring 无法找到配置文件时可能会抛出异常。 - ...
processorClass="org.springframework.web.struts.DelegatingRequestProcessor"> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> ...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/> ``` **示例代码**: ```java public class LoginAction extends Action { private LoginDao dao; public void ...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"> ``` 这样设置后,所有的Struts Action都会被Spring所管理,可以方便地进行依赖注入等操作。 #### 三、集成Spring与...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" /> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn" /> </struts-config> ``` - **...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/> ``` 这样,所有的请求都会先经过Spring的处理器,允许Spring进行依赖注入。Action类不再需要继承`ActionSupport`,...
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/> ``` 这样,Spring 将自动处理 Action 对象的实例化和依赖注入,减少了代码的耦合。 在实际...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" /> </struts-config> ``` 然后,`applicationContext.xml`的配置与第一种方式相同: ```xml ``` 这种方式下,...
<plug-in className="org.springframework.web.struts.DelegatingRequestProcessor" /> ``` 此外,还需要配置`DelegatingActionProxy`来代理具体的Action类: ```xml <action path="/login" type="org.spring...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/> ``` 然后在Spring配置文件中定义Action beans。这种方式的好处是,Spring可以完全控制Action的生命周期,包括依赖注入...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" /> ``` - 配置资源文件: ```xml <message-resources parameter="com.tarena.struts.ApplicationResources" /> `...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/> <!-- 告诉Struts Spring的存在 --> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> ...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/> ``` - 这样可以让Spring负责创建和管理Action实例。 #### 四、总结 通过上述步骤,我们可以在Eclipse环境下成功...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" /> ``` 并在Action的定义中,使用`spring.bean`属性指定Spring管理的bean的ID: ```xml ...
<processorClass>org.springframework.web.struts.DelegatingRequestProcessor ``` - `<controller>`定义了Struts的控制器处理器。 - `DelegatingRequestProcessor`用于处理用户请求并转发到相应的Action。 ####...
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"> ``` #### 4. 定义DelegatingActionProxy - 在Struts配置文件中定义一个类型为`DelegatingActionProxy`的动作。 ```...
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> ...
<bean id="strutsPrepareAndExecuteInterceptor" class="org.springframework.web.struts.DelegatingRequestProcessor" /> <bean class="org.springframework.web.struts.ContextLoaderPlugIn" /> ...