1

我可以同时使用动作映射struts.xml和 Spring 的RequestMapping注释吗?(我的环境是 Struts 2.3.1 和 Spring 3.1.1)

在我struts.xml这样的事情中:

<package name="proj" namespace="/proj" extends="proj-default">
    <action name="home" class="proj">
        <result name="success" type="tiles">proj.home</result>
    </action>
</package>

我的一堂课是这样注释的:

@Controller
@RequestMapping("/dialog")
public class MyDialogController {
    ...
    @RequestMapping(value="/info", method=RequestMethod.GET)
    public String info(NativeWebRequest request) {
        ...
    }
}
4

1 回答 1

0

我发现答案是肯定的。
我只需要另外配置弹簧配置。

首先,我添加 SpringDispatcherServletweb.xml

<servlet>
    <servlet-name>profile</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>profile</servlet-name>
    <url-pattern>/testProj/*</url-pattern>
</servlet-mapping>

然后额外添加以下代码applicationContext.xml

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

最后,我创建了一个profile-servlet.xml包含请求映射设置

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <value>
            /profile/*=profileController
        </value>
    </property>
    <property name="alwaysUseFullPath" value="true" />
</bean>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

现在它工作正常。

于 2012-10-25T08:13:52.043 回答