1、前端页面的日期自动注入对象中日期类型的参数。
在Controller 层添加如下的方法即可
@InitBinder
public void initBinder(ServletRequestDataBinder binder) {
/**
* 自动转换日期类型的字段格式
*/
binder.registerCustomEditor(Date.class,
new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
}
2,对象映射 @RequestBody
在post请求时,可以使用泛型,如果下可以把Mo对象的数据映射出来。如果是get请求则泛型不起效果。使用原本类型可以运行成功。
@RequestMapping(value = "/test", method = RequestMethod.POST)
public List<String> testInput(@RequestBody PageVo<Mo> pageMo){
System.out.println(JSONObject.toJSON(pageMo));
return null;
}
3、controller层的@RequestMapping作用于私有方法,获取不到@Autowired或则@Resource注入的实例变量的结果。
返回结果为null
另附上我的springMVC配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:config/cas.properties</value>
</list>
</property>
</bean>
<mvc:annotation-driven />
<!-- aspectj aop启用CGliB代理 -->
<aop:aspectj-autoproxy expose-proxy="true"
proxy-target-class="true" />
<context:component-scan base-package="com.hl.controller;com.hl.commons.scan" />
<!-- 配置结果页面 前缀和后缀 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="order" value="10"></property>
<property name="prefix" value="/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- 定义文件解释器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置默认编码 -->
<property name="defaultEncoding" value="utf-8"></property>
<!-- 上传图片最大大小5M-->
<property name="maxUploadSize" value="5242440"></property>
</bean>
<!-- 配置哪些是静态资源,缺省Servlet 直接返回 -->
<!-- 所有路径以/static/upload开头的资源文件都去c:/upload中寻找 比如http://localhost:8080/kshh/static/upload/c5a2d20c3b564a88a9bdbe6d816784b6.JPG,对应
new File("c:/upload","c5a2d20c3b564a88a9bdbe6d816784b6.JPG"); -->
<mvc:resources mapping="/static/upload/**" location="file:///c:/upload/"
cache-period="31556926" />
<mvc:resources mapping="/static/**" location="/static/"
cache-period="31556926" />
<!-- csrf CookieCsrfTokenRepository -->
<bean class="com.hl.commons.csrf.CookieCsrfTokenRepository" />
<!-- Spring csrf 拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/login" />
<bean class="com.hl.commons.csrf.CsrfInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
<mvc:annotation-driven>
<mvc:message-converters register-defaults="false">
<!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean>
<!-- 下载使用 -->
<bean
class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
<bean
class="org.springframework.http.converter.ResourceHttpMessageConverter" />
<bean
class="org.springframework.http.converter.ResourceRegionHttpMessageConverter" />
<!-- json -->
<ref bean="jacksonMessageConverter" />
</mvc:message-converters>
</mvc:annotation-driven>
<bean id="jacksonMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
<property name="objectMapper" ref="jacksonObjectMapper" />
</bean>
<!-- hibernate-Validator -->
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
</bean>
<bean
class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor" />
<!-- ueditor -->
<bean class="com.hl.commons.ueditor.UeditorManager" />
<bean class="com.hl.commons.ueditor.UeditorService" />
<!-- 使用spring servlet3.0 默认上传 -->
<!-- <bean id="multipartResolver"
class="org.springframework.web.multipart.support.StandardServletMultipartResolver" />-->
<!-- 启用shrio 控制器授权注解拦截方式 -->
<bean
class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager" />
</bean>
<!-- 保证实现了Shiro内部lifecycle函数的bean执行 -->
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />
<!-- AOP式方法级权限检查 -->
<bean
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
depends-on="lifecycleBeanPostProcessor">
<property name="proxyTargetClass" value="true" />
</bean>
</beans>