首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springMVC

springMVC

作者头像
yawn
发布2018-03-14 10:57:23
6170
发布2018-03-14 10:57:23
举报
  1. 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>
  1. 封装表单参数的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]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档