您的位置:首页 > 编程语言 > Java开发

springMVC

2016-05-07 00:00 441 查看
摘要: springMVC的controller页面跳转控制,封装表单参数的AbstractCommandController,以及表单中字符串与Date类型的转换

springmvc中有专用于页面跳转的controller,不会对请求做任何处理,直接跳转页面:

<!-- 对处理请求的controller进行映射 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="start.do">startController</prop>
<prop key="login.do">loginController</prop>
<prop key="userLogin.do">userLoginController</prop>
</props>
</property>
</bean>

<!-- controller的配置 -->
<bean id="startController" class="com.yawn.controller.StartController"></bean>

<!-- 直接跳转页面的controller -->
<!--
<bean id="loginController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"></bean>
-->
<bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="login"></property>
</bean>


封装表单参数的controller:
可继承AbstractCommandController实现:

package com.yawn.contrller;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.validation.BindException;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;

import com.yawn.entity.User;

public class UserLoginController extends AbstractCommandController {

public UserLoginController() {
}

@Override
protected ModelAndView handle(HttpServletRequest request,
HttpServletResponse response, Object object, BindException exception)
throws Exception {
System.out.println((User)object);
return null;
}

@Override
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws Exception {

// 当遇到Date类型的数据要绑定时,就会用这个编辑器进行转换;没有日期类型时可以不用重写此方法
binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));

}

}

其中,对表单进行封装的类型还需要配置:

<!-- 接收表单数据的controller,并将表单数据绑定到User对象中 -->
<bean id="userLoginController" class="com.yawn.contrller.UserLoginController">
<property name="commandClass" value="com.yawn.entity.User"></property>
</bean>

运行结果(2001年12月12日):

User [no=34434, name=fed, password=ddd, date=Wed Dec 12 00:00:00 SGT 2001]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: