Spring mvc (三) [继承SimpleFormController配合formbean区别get和post请求]

通过继承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,exception,bean,command,Class)