【问题标题】:some form fields are cleared on bindAndValidate() after formbackingobject() populate them correctly, Spring MVC在 formbackingobject() 正确填充它们之后,一些表单字段在 bindAndValidate() 上被清除,Spring MVC
【发布时间】:2011-04-21 13:22:50
【问题描述】:

我正在处理一些现有代码,其中控制器覆盖了 formbackingobject 方法。

从 formbackingobject 返回的对象被正确填充,但是当它到达 jsp 时,一些字段是空白的。我做了一些调试,发现 BaseCommandController 类中的一些字段数据被清除,在 bindAndValidate 方法中,特别是在 binder.bind(request); 行中。我找不到任何将更改此数据的验证器。

知道这些字段是如何被清除的,以及为什么采用这种方法。

【问题讨论】:

    标签: java spring spring-mvc jakarta-ee


    【解决方案1】:

    验证器不应该是那些改变了你的对象的人。在绑定步骤之后,您的对象将具有与请求参数中的值相关联的值。

    【讨论】:

    • 感谢您的快速回复,您能否就“您的对象在绑定步骤后具有与请求参数中的值相关联的值”进行更多合作。
    • 我认为您只是在将要清理的字段上放置一个条件断点,看看会发生什么;-)。
    • 这就是我所做的。我打开了变量视图,字段有值,但是在 binder.bind(request) 之后,我可以清楚地看到字段值被清除。
    • 您将断点设置在字段的设置器处,但不知道为什么要清理它?
    • 在setter中,我可以清楚地看到第二次设置参数为空。所以我的问题是 binder.bind(request); 之间的数据变化在哪里?并渲染jsp
    猜你喜欢
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多