- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 JSP 页面上有单选按钮。
<form:form modelAttribute="obj" action="save">
<form:radiobuttons path="person" items="${List}"/>
<form:button>Save</form:button>
</form:form>
列表:人员对象列表对象:
Class obj{
Person person;
getter/setters
}
在该 JSP 中,当选择特定单选按钮时,我必须附加人员。
在 Controller 端
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String postProcess(@ModelAttribute("obj") Obj obj,BindingResult error) {
//processing
return "anotherJsp";
}
@InitBinder
public void initBinder(WebDataBinder binder, Locale locale, HttpServletRequest request) {
binder.registerCustomEditor(Obj.class,"person", new PropertyEditorSupport() {
@Override
public void setAsText(String text) {
//processing for conversion of person object String to Person Object
setValue(text);
}
});
}
这里我使用initbinder,因为我从jsp获取person对象字符串...所以我得到绑定(bind)异常无法从String转换为Person。
InitBinder在将数据绑定(bind)到modelAttribute之前被调用。因此在initbinder中我将字符串转换为Person对象。
这里的主要问题是我的InitBinder未调用/调用。请给我解决方案。
谢谢。
最佳答案
请检查是否通过设置断点或调试语句来调用。
您的模型属性名为“obj”。但在 propertyeditor 中,您使用“person”作为属性路径。
请尝试使用“obj”作为 propertyPath 或删除该参数并使用此签名。 registerCustomEditor(Class requiredType, PropertyEditor propertyEditor)
希望有帮助。
关于java - InitBinder 未被调用/调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18502560/
我有一个休息 Controller : @RestController public abstract class CrudController { @RequestMapping(
如何将 init binder 仅应用于方法?我已经进行了大量搜索以找到此问题的答案。根据docs @InitBinder 中的值是此 init-binder 方法应该应用的命令/表单属性和/或请求参
大家好,我正在尝试使用 initbinder 注释来匹配从乘法列表框中收到的值。列表框中的值是字符串值。最初我使用以下方式进行操作只是为了匹配一个选择(我还没有添加多重选择)并且它工作得很好。代码如下
我正在使用@valid 和@initbinder 来验证传递给服务的数据,但我面临一个问题,即@InitBinder 仅在全局范围内工作,即 @InitBinder // possible to le
我有一个 Spring MVC 应用程序和一个实现 Validator 的验证类。使用 @InitBinder 注释在 Controller 中调用此验证类。此验证发生在将记录插入数据库之前,但是当我
我正在使用 initBinder 添加用户验证器方法: @InitBinder protected void initBinder(WebDataBinder binder) {
我有一个表单,但是当我提交它时,我的 initbinder 没有拦截我的 post 请求。这是我的 initbinder: @InitBinder(value="confermaDto") p
我有一个 java.util.Date 的 initbinder: @InitBinder public void initBinder(WebDataBinder binder) { Sim
我在网上读到了有关 InitBinder 的内容,但不太清楚它是如何工作的。据我了解,它可以用来执行横切关注诸如设置 validator 、将请求参数转换为某些自定义对象等 在网上遇到下面的例子 @I
我有一个命令对象,它代表提交的表单对象。如果表单输入字段中的值为空,我希望它在命令对象中为 null。 我读到了不同的SO question显示使用 InitBinder 我尝试过,但 initBin
我在 JSP 页面上有单选按钮。 Save 列表:人员对象列表对象: Class obj{ Person person; getter/setters } 在该 JS
我正在尝试使用 @InitBind 注释仅映射请求正文中对象上的某些字段。 我有一个以这种方式定义的 Spring Controller : @RequestMapping(value = "addA
当我调试我的 Spring Boot 应用程序时,我注意到每个传入请求都会调用用 @InitBinder 注释的方法。 @InitBinder("categories") public void bi
我有一个程序具有上传文件的功能,然后验证它的名称格式是否正确并将其保存到数据库。 在我的主 Controller 中,我使用@InitBinder 进行验证。 @InitBinder("uploadF
我正在设置@InitBinder 来为Spring MVC Controller 设置验证器。但是,看起来验证器实际上并没有在运行时触发。 Controller 看起来像这样: @Controller
我有一个工作正常的 Controller ,它可以注册和更新一个实体,下面是如何分别创建表单来保存和更新实体 @RequestMapping(value="/registrar.htm", metho
我现在正面临一个关于 JodaTime DateTimes 和 Spring MVC Controller 的奇怪问题。虽然我看到调用了 InitBinder-annotated 方法,但它没有效果,
我正在尝试使用 Spring validator 和 @Validated 来验证我的表单。 但是,我很困惑为什么需要在 @InitBinder 中指定 validator 。 这是 Controll
我想了解@InitBinder。我尝试为多个 Validator 使用多个 InitBinder @InitBinder("Validator1") protected void initBinder
我有一个页面,其中包含自定义项目列表,我在 Controller 的 init 绑定(bind)器中注册了一个自定义编辑器以允许数据绑定(bind)。该列表是从 View 传递的。我遇到的问题是我的
我是一名优秀的程序员,十分优秀!