문제

Spring Framework API에 따르면

urlfilenameviewcontroller의 목적은 다음과 같습니다.

URL의 가상 경로를보기 이름으로 변환하고 해당보기를 반환합니다.

/info.xhtml을 요청하면 논리적보기 이름이 info입니다.

보다 urlfilenameviewcontroller 선적 서류 비치

web.xml과 컨트롤러 모두에 따라 매핑됩니다

/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8">
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>smac</display-name>
    <servlet>
        <servlet-name>controller</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>controller</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
</web-app>

/WEB-INF/controller-servlet.xml
<?xml version="1.0" encoding="UTF-8">
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    <bean class="org.springframework.web.servlet.view.InternalViewResolver">
        <property name="prefix" value="/WEB-INF/output/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
</beans>

내 SMAC 앱이 잘 배포됩니다.

그래서, 내가 요청한다면 http://127.0.1:8080/smac/info.xhtml, spring-mvc는 /web-inf/output/info.jsp를 반환해야합니다. 그러나 나는 콘솔에서 다음을 보았습니다.

이름이 '컨트롤러'라는 DispatcherServlet에서 uri [/smac/info.xhtml]로 HTTP 요청에 대한 매핑이 없습니다.

누구든지 나를 도울 수 있습니까?

문안 인사,

도움이 되었습니까?

해결책

구성해야합니다 핸들 핑. 기본값입니다 BeanNameUrlHandlerMapping URI와 일치하는 이름으로 컨트롤러 Bean을 바인딩하는 경우에만 원하는 작업을 수행합니다. 당신은 아마도 원합니다 SimpleUrlHandlerMapping 대신에:

<bean name="myController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <value>
            /**/*.xhtml=myController
        </value>
    </property>
</bean>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top