在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

Posted loaderman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型相关的知识,希望对你有一定的参考价值。

1)  在默认情况下,springmvc不能将String类型转成java.util.Date类型,所有我们只能在Action

中自定义类型转换器

<form action="${pageContext.request.contextPath}/user/add.action" method="POST">
        编号:<input type="text" name="id" value="${id}"/><br/>
        姓名:<input type="text" name="name" value="${name}"/><br/>
        薪水:<input type="text" name="sal" value="${sal}"/><br/>
        入职时间:<input type="text" name="hiredate" value=‘<fmt:formatDate value="${hiredate}" type="date"/>‘/><br/>
        <input type="submit" value="注册"/>
    </form>
@Controller
@RequestMapping(value = "/user")
public class UserAction {
    @InitBinder
    protected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception {
        binder.registerCustomEditor(
                Date.class, 
                new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true));
    }
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String add(int id, String name, double sal, Date hiredate,
            Model model) throws Exception {
        System.out.println("HelloAction::add()::POST");
        model.addAttribute("id", id);
        model.addAttribute("name", name);
        model.addAttribute("sal", sal);
        model.addAttribute("hiredate", hiredate);
        return "/register.jsp";
    }
}

 

以上是关于在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型的主要内容,如果未能解决你的问题,请参考以下文章

在业务控制方法中写入普通变量收集参数

在业务控制方法中写入User,Admin多个模型收集参数

在业务控制方法中收集数组参数

在业务控制方法中写入Request,Response等传统web参数

预处理控制器方法的模型类型提示路由参数中的主键

Controller接口控制器详解