通过继承SimpleFormController来重写onsubmit和referenceData方法
这里有两个方法。可以限制get和post请求
我们的url是http://localhost:8080/springmvc/simpform.do
顺序则为:
http://localhost:8080/springmvc/simpform.do
get方法 (默认传递回一个view对象是截取请求中带的simpform。然后配合配置的viewresolver前缀和后缀。转移到
/WEB-INF/pages/simpform.jsp)
然后再次发送post方法传递表单可以到达onSubmit方法
配置文件:
1、通过类名称匹配的配置
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
2、配置controller bean和viewresolver
<bean id="simpleform" class="cn.zhang.mvc.SimpFormController">
<property name="commandClass">
<value>com.zhang.model.LoginInfo</value>
</property>
</bean>
Viewresolver:
<!--配置一个viewResolver来处理返回的页面,配置前置和后置-->
<bean id="viewresolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
3、SimpFormController的编码:
下面标示的很清楚。两个方法分别可以传递对象和视图。很明显。
public class SimpFormController extends SimpleFormController{
protected ModelAndView onSubmit(Object command, BindException errors)
throws Exception {
LoginInfo logininfo = (LoginInfo) command;
//post请求到达
System.out.println("onSubmit method"+logininfo);
return new ModelAndView("success");
}
@Override
protected Map referenceData(HttpServletRequest request) throws Exception {
//get请求到达
System.out.println("referenceData method");
return null;
}
}
Spring mvc (七) [基于注解@RequestMapping(method=)限制请求为get或者post]
最新推荐文章于 2023-04-07 14:03:30 发布