当前位置: 首页 > 知识库问答 >
问题:

绑定自定义日期编辑器Spring Mvc

江超英
2023-03-14

我正在研究带有注释的Spring MVC。我还没有注册任何自定义日期编辑

在我的类中,我有一个类型为java.lang.Date的属性

我读到的是customDateEditor默认不注册。但是当我提交带有空白日期的表单时,它抛出了illegalArgumentException

如果我输入日期然后提交它不抛出异常

在那之后,我将绑定结果作为参数添加到控制器方法,现在它正在接受空白值

我没有向控制器添加任何initbinder

控制器

   @Controller("orderController")
   @RequestMapping(value = "/admin")
    public class OrderController extends BaseController {



    @RequestMapping(value = "/viewOrders.htm", method = RequestMethod.GET)
    public String viewOrders(@ModelAttribute("searchOrder") SearchOrder       searchOrder,BindingResult bindingResult,Model model) {

        List<Order> orders=orderService.getOrders(searchOrder);
        model.addAttribute("orders", orders);

        return "order/searchOrder";
    }
    }

包含日期字段的 Pojo

public class SearchOrder {

    private Integer orderId;
    private Long customerId;
    private String customerPo;
    private Date dateCreatedFrom;
    private Date dateCreatedTo;
    private Date dateUpdatedFrom;
    private Date dateUpdatedTo;


    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getCustomerPo() {
        return customerPo;
    }

    public void setCustomerPo(String customerPo) {
        this.customerPo = customerPo;
    }

    public Date getDateCreatedFrom() {
        return dateCreatedFrom;
    }

    public void setDateCreatedFrom(Date dateCreatedFrom) {
        this.dateCreatedFrom = dateCreatedFrom;
    }

    public Date getDateCreatedTo() {
        return dateCreatedTo;
    }

  public void setDateCreatedTo(Date dateCreatedTo) {
        this.dateCreatedTo = dateCreatedTo;
    } 

    public Date getDateUpdatedFrom() {
        return dateUpdatedFrom;
    }

    public void setDateUpdatedFrom(Date dateUpdatedFrom) {
        this.dateUpdatedFrom = dateUpdatedFrom;
    }

    public Date getDateUpdatedTo() {
        return dateUpdatedTo;
    }

    public void setDateUpdatedTo(Date dateUpdatedTo) {
        this.dateUpdatedTo = dateUpdatedTo;
    }

@Override
    public String toString() {
        return "SearchOrder [orderId=" + orderId + ", customerId=" + customerId
                + ", customerPo=" + customerPo + ", dateCreatedFrom="
            + dateCreatedFrom + ", dateCreatedTo=" + dateCreatedTo
                + ", dateUpdatedFrom=" + dateUpdatedFrom + ", dateUpdatedTo="
            + dateUpdatedTo + "]";
    } 


 }

请投掷一些光芒

共有1个答案

陶胤运
2023-03-14

当您添加<code>BindingResult</code>时,此绑定结果包含有关无法“工作”的绑定和验证的信息。您可以使用<code>BindingResult。hasErrors()检查绑定结果是否包含有关“问题”的信息。

如果您没有<code>BindingResult</code>方法参数,那么如果存在绑定错误,Spring会自动抛出异常。

 for(ObjectError objectError : bindingResult.getAllErrors()) {
       Sysout.println("error: " + objectError);
 }

获取有关绑定错误的一些信息

(Btw:方法参数顺序很重要:< code>BindingResult参数必须是命令对象之后的下一个参数,应该使用此< code>BindingResult进行检查)

 类似资料:
  • 本文向大家介绍iOS自定义日期选择器,包括了iOS自定义日期选择器的使用技巧和注意事项,需要的朋友参考一下 前言 封装了一个日期选择器,解决两个问题: 1、点击textField,键盘弹出和日期选择器弹出的逻辑处理; 2、同一个界面需要多次用到日期选择器时,判断点击的textField; 一、封装日期选择器类YCDatePickerView 1、新建一个类,基于UIView,取名YCDatePic

  • 在“SQL 编辑器”选项卡,你可以创建和编辑视图的 SELECT 语句 SQL。Navicat Data Modeler 为编辑视图定义提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置 sql 格式及更多。 【提示】当你在视图创建工具创建视图,SELECT 语句将会自动生成。 美化 SQL(仅适用于非 Essentials 版) 若要格式化凌乱的 SQL 代码到一个结构良好的脚本,你

  • 问题内容: 我有个小问题。我需要使用自定义编辑器工具包将现有文件加载到。我有一个编辑器套件,一个带有某些扩展名的文件,我需要强制识别文件并使用我的编辑器套件。我只发现这是可能的,但无处可寻。 该工具包也基于HTML和文件。如果文件具有扩展名,则可以使用,但是当我将文件重命名为时,它将以纯文本格式打开。内容类型设置为,但是我无法注册该类型的编辑器套件,因为已经为该内容类型注册了另一个编辑器套件。 实

  • 问题内容: 我的目标是在编辑器上以VK-ENTER结尾的任何输入,它执行操作pindah(正在添加新行并设置光标在新行上闪烁)。抱歉,我无法从该示例中学习。 有办法吗? 这是我的代码(不包括导入,因为Eclipse会自动建议它): 问题答案: 不是答案,而是关于您代码的一些注释。 首先,您需要了解事件调度线程(EDT)。GUI组件的更新需要在EDT上完成。 通常,您不需要保留嵌套的SwingUti

  • PHP 7.0.33和yii2.0.16在这里。 我需要定制一个yii2日期时间选择器,我在某个时候卡住了。我看了几个扩展,我最终使用了下面的一个,因为它让我最接近我想要实现的目标: https://github.com/kartik-v/yii2-date-range 所以,我的代码是: 结果是: 几乎不错,但是有几件事我不知道我是否可以定制: > 当我开始选择日期、时间、分钟时,目标表单元素的

  • > 总结一下问题:我试图了解如何以特定的方式自定义html5日期选择器,具体来说,格式类似于8月31日星期二的[日历图标],右侧带有插入符号,可以打开日期选择器。经过初步搜索,我找到了这些用于自定义日期输入文本框的伪元素。 预期的结果是,这些定制选项在大多数情况下都可以满足定制日期选择器的要求,但到目前为止,我还无法应用这些选项来完全满足目标。例如,我试图去掉文本框中的第二个正斜杠(31之后的代码