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>

私のクラスの1つは次のように注釈が付けられています:

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

1 に答える 1

0

答えは「はい」であることがわかりました。
スプリング構成を追加で構成する必要があります。

まず、Springを追加DispatcherServletしますweb.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 に答える