springMVC

  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]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT笔记

SpringBoot开发案例之整合Quartz注入Service

前段时间做了一个基于SpringBoot和Quartz任务管理系统(脚手架而已),很多功能不是特别完善,由于工作原因,断断续续一直在更新中,码云上有个小伙伴提问...

3527
来自专栏阿杜的世界

Spring Boot:定制拦截器

Servlet 过滤器属于Servlet API,和Spring关系不大。除了使用过滤器包装web请求,Spring MVC还提供HandlerIntercep...

885
来自专栏玩转JavaEE

SpringMVC常用配置

按:最近公众号文章主要是整理一些老文章,主要是个人CSDN上的博客,也会穿插一些新的技术点。 ---- 关于Spring、SpringMVC我们前面几篇博客都介...

2836
来自专栏行者悟空

利用Hadoop Mapreduce实现pv统计分析

1383
来自专栏冷冷

【Jfinal源码】第一章 com.jfinal.core.JFinalFilter(1)

前言: 首先在gitosc获取到jfinal的源码,本学习笔记使用的是jfinal2.2版本。 ---- 从web.xml开始,我们去学习jfinal是怎么从...

1966
来自专栏码农阿宇

.Net利用Newtonsoft进行解析Json的快捷方法

现在异构系统之间的数据交换多采用Json格式 .Net如何快捷地解析Json和将Object转换成json呢? 1.利用Newtonsoft解析Json字符串 ...

3335
来自专栏王二麻子IT技术交流园地

《SpringMVC从入门到放肆》四、SpringMVC配置式开发(处理器映射器)

上一篇我们讲解了DispatcherServlet的url-pattern配置详解,今天我们来真正对SpringMVC进行配置式开发。 所谓配置式开发是指“处理...

32011
来自专栏Kevin-ZhangCG

SpringMVC学习笔记之一(SpringMVC架构及与Mybatis整合)

804
来自专栏青玉伏案

JavaEE开发之SpringMVC中的自定义拦截器及异常处理

上篇博客我们聊了《JavaEE开发之SpringMVC中的路由配置及参数传递详解》,本篇博客我们就聊一下自定义拦截器的实现、以及使用ModelAndView对象...

1975
来自专栏JAVA后端开发

Activiti通过代码生成流程图

activiti除了可以通过流程设计器画流程图之外,其实也可以通过代码生成流程图。 activiti的流程图核心对象就是BpmnModel,只要生成了这个Bp...

1161

扫码关注云+社区