spring mvc

2019-01-28  本文已影响0人  luckee

spring mvc

参数绑定

image.png
@RequestMapping("/defaultParameter")
    public ModelAndView defaultParameter(HttpServletRequest request,HttpServletResponse response,
                            HttpSession session,Model model,ModelMap modelMap) throws Exception{
        request.setAttribute("requestParameter", "request类型");
        response.getWriter().write("response");
        session.setAttribute("sessionParameter", "session类型");
        //ModelMap是Model接口的一个实现类,作用是将Model数据填充到request域
        //即使使用Model接口,其内部绑定还是由ModelMap来实现
        model.addAttribute("modelParameter", "model类型");
        modelMap.addAttribute("modelMapParameter", "modelMap类型");
         
        ModelAndView mv = new ModelAndView();
        mv.setViewName("view/success.jsp");
        return mv;
    }

success.jsp主要代码

<body>
    request:${requestParameter}
    session:${sessionParameter}
    model:${modelParameter}
    modelMap:${modelMapParameter}
</body>
<form action="basicData" method="post">
    <input name="username" value="10" type="text"/>
    <input type="submit" value="提交">
</form>
@RequestMapping("/basicData")
    public void basicData(int username){
        System.out.println(username);//10
    }

or

@RequestMapping("/basicData")
    public void basicData(@RequestParam(value="username") int name){
        System.out.println(username);//10
    }
@RequestMapping("/basicData")
    public void basicData(Integer username){
        System.out.println(username);//10
    }

自定义converter

package com.ys.util;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
import org.springframework.core.convert.converter.Converter;
 
//需要实现Converter接口,这里是将String类型转换成Date类型
public class DateConverter implements Converter<String, Date> {
 
    @Override
    public Date convert(String source) {
        //实现将字符串转成日期类型(格式是yyyy-MM-dd HH:mm:ss)
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            return dateFormat.parse(source);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //如果参数绑定失败返回null
        return null;
    }
 
}

配置converter

<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
     
    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <property name="converters">
            <!-- 自定义转换器的类名 -->
            <bean class="com.ys.util.DateConverter"></bean>
        </property>
    </bean>

配置静态资源不被DispacherServlet拦截

<!--要写在DispatcherServlet的前面, 让 defaultServlet先拦截请求,这样请求就不会进入Spring了,我想性能是最好的吧。--> 
    <servlet-mapping> 
        <servlet-name>default</servlet-name> 
        <url-pattern>*.css</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
        <servlet-name>default</servlet-name> 
        <url-pattern>*.js</url-pattern> 
    </servlet-mapping> 
<!-- 配置静态文件过滤器 -->
    <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/>
    <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>
  

静态资源的位置

我看到有好几种位置

上一篇下一篇

猜你喜欢

热点阅读