升级到Spring 4.3.3.RELEASE后我收到错误:
不支持请求方法'POST'
我的应用程序是一个基本模板,主视图通过
呈现<mvc:view-controller path="/" view-name="home.view"/>
它在Spring 4.2.8上运行良好。
有任何解决问题的提示吗?
答案 0 :(得分:0)
我们遇到了同样的问题。事实证明,在某些时候,ParameterizableViewController被更改为仅支持GET和HEAD请求。
我们通过用以下内容替换定义来解决这个问题:
<bean id="homeController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="supportedMethods" value="GET,POST,PUT,DELETE" />
<property name="viewName" value="home.view" />
</bean>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<map>
<entry key="/" value-ref="homeController"/>
</map>
</property>
</bean>
基本上,这允许您使用您希望的任何支持的HTTP方法创建ParameterizableViewController。第二个bean创建映射,以便路径“/”解析为定义的控制器。
答案 1 :(得分:0)
ParameterizableViewController默认支持的默认方法是GET,HEAD,我们使用以下代码片段对其进行检查。
ParameterizableViewController pvc=new ParameterizableViewController();
String[] str=pvc.getSupportedMethods();
for(String x:str) {
System.out.println(x);
}
为了添加POST或任何HTTP方法,我们需要在我们的bean标记中添加此XML标记。
<bean id="testUrl"
class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="supportedMethods" value="GET,POST,PUT,DELETE" />
<property name="viewName" value="success" />
</bean>