问题标签 [spring-mvc-initbinders]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
propertyeditor - 设置类型的 PropertyEditor 问题
使用:带有 Liferay 5.2.3 和 Tomcat 6.0.18 的 Spring 3.2 portlet MVC
我正在尝试创建一个 PropertyEditor 来在 和 之间进行转换Set<Type>
,String
然后再返回。我已经成功地开始Set<Type>
工作String
,没有任何问题。但我无法让属性编辑器被识别为反向。我已经使用Type
-> String
->成功完成了这项工作Type
,但是为 a 进行转换Set
却让我望而却步。
我已经确定 SetAsText 方法从未被调用,并且我得到一个运行时错误,表明转换没有完成。关于 propertyEditors 的信息非常稀少,除了一两个例外,我能找到的唯一模糊相关的问题是 4 年或更长时间。
要么我错过了一些我看不到的基本内容,要么是框架中更深层次的东西,但我将不胜感激任何帮助或建议。
这是我的控制器中的@InitBinder 片段:
这是我的属性编辑器:
类型类片段是:
spring-mvc - 在 Spring MVC 的属性编辑器中访问模型对象
我有两个自定义对象的映射作为我的模型对象中的属性,我通过直接将它绑定到路径和项目属性中来在 JSP 中显示它<form:select>
提交时,我得到一个逗号分隔的所有选定值的字符串<form:options>
。现在我想访问模型对象的单独属性的问题
并使用 availablePbrTypes 在属性编辑器的 setAsText 方法中根据逗号分隔字符串中的值获取所有 PrescriberTypeModel 并创建一个 Map。请帮忙,因为我不知道如何在属性编辑器中访问其他对象。
java - 使用 Spring 创建全局 initBinder
我正在使用 Spring 3.2,并且正在寻找一种方法可以强制控制器指定允许绑定哪些属性,因此恶意用户无法将值注入绑定对象。Spring 推荐使用setAllowedFields()
to white-list / setDisallowedFields()
to black-list。
我不想手动执行此白名单,而是希望动态执行此操作,因此我想绑定表单上可见的属性。
那么有可能得到这个白名单吗?有什么方法可以让我获得表单上的可见属性?
谢谢。
java - 如何 dateFormatter 时间戳和日期重合
但这也是错误的,因为我也使用了 Timestamp :
字段“dupd”上的对象“identitas”中的字段错误:拒绝值 [2013-12-13 11:19:33.0];代码 [typeMismatch.identitas.dupd,typeMismatch.dupd,typeMismatch.java.sql.Timestamp,typeMismatch]; 参数 [org.springframework.context.support.DefaultMessageSourceResolvable:代码 [identitas.dupd,dupd];论据 []; 默认消息 [dupd]];默认消息 [无法将类型“java.lang.String”的属性值转换为属性“dupd”所需的类型“java.sql.Timestamp”;嵌套异常是 java.lang.IllegalArgumentException:无法将类型 [java.lang.String] 的值转换为属性“dupd”所需的类型 [java.sql.Timestamp]:返回 PropertyEditor [org.springframework.beans.propertyeditors.CustomDateEditor] [java.util.Date] 类型的不适当值]
如何将日期格式的日期和时间戳重合?
java - spring mvc 一个用于所有控制器的初始化绑定器
我有 5 个控制器,我想InitBinder
向所有控制器注册一个。
我知道我可以将此代码添加到每个人。
但我只想定义一次(甚至创建一个 beanStringWrapperEditor
并使用它,而不是每次都创建新的。)
我搜索了 SO 和其他一些地方,但没有找到任何答案。甚至可能吗?
我在 java 1.6 中使用 spring 3.1.1。
spring - AspectJ:Initbinder 中的自动装配字段为空
我刚刚实现了 AspectJ,如下所述:https ://stackoverflow.com/a/10998044/2182503
这个解决方案工作正常,直到我注意到我的@Autowired
字段在@InitBinder
. 这些字段仅在@InitBinder
.
我无法理解为什么它们有时为空而有时不是。(在同一个班级内)
spring - 如果 Spring MVC 中所有属性为空,则将嵌套 Bean 绑定到 null
假设我有一个 Account 类,它有一个 Person 类的实例变量。
现在,如果表单 POST 正文包含以下参数:
Spring 将实例化一个新的 Person,即使它的所有属性都是空的(或 null,因为我正在使用带有 @InitBinder 的 @ControllerAdvice,我正在为 String 设置 StringTrimmerEditor)。有没有办法指示 Spring 不创建 Person 实例呢?
java - Spring 4 ControllerAdvice 和 InitBinder
我正在尝试使用 @ControllerAdvice 类中的 @InitBinder 注释方法注册全局 InitBinder。
我遇到的问题是我看到它在加载时找到了@InitBinder,但它实际上从未进入该方法,因为我没有将“INIT BINDER”打印到 System.out。这意味着自定义编辑器没有被注册,因此它们不起作用。如果我将 initBinder 方法复制并粘贴到我的一个控制器中,它对于那个特定的控制器就可以正常工作。
有什么想法吗?
spring-mvc - Spring StringTrimmerEditor 修剪除密码字段外的所有字段
在Spring 控制器中注册了StringTrimmerEditor 。当然,当我现在输入以空格开头或结尾的密码时,它也会被修剪。但是用户无法识别这种修剪。
那么是否可以从修剪中“排除”密码字段。我应该为每个字段注册一个 StringTrimmerEditor 还是只将密码声明为 char[]?
spring-mvc - spring mvc how to improve my initBinder
I am using spring mvc and am still trying to get my head around binders, formatters and converters.
I have a custom binder behind one of my controllers...
This particular custom binder is not specific to just the form for this controller but will be used everywhere throughout the application.
What is the best way for me to do this more generically for all of my controllers?
P.S. I have got a conversion service so I could use this if it is the right place to do it.
thanks