问题标签 [propertyeditor]

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.

0 投票
3 回答
7097 浏览

java - @PathVariable 列表在 Spring MVC 中

在 Spring MVC 控制器中,@PathVariable Long... ids当传递像1,2,3.

如果参数声明为,@PathVariable UUID... ids则逗号分隔不起作用:返回 400 响应。

我可以实现一个自定义PropertyEditor来处理UUID[]List<UUID>吗?我能找到的唯一例子是单个值,而不是集合/数组。

更新

根据下面 Phil Webb 的回答,在将问题报告为 Spring JIRA 上的错误后,SpringSource 的好心人在 Spring 3.2 中添加了对此的支持

0 投票
1 回答
404 浏览

delphi - DBReg 中的本地属性编辑器类型

我正在为 Delphi 7 创建自己的支持 DB 的网格控件。在DBReg单元中,Delphi 为支持 db 的控件注册属性编辑器,但几乎所有这些都是本地类型,所以我不能重用它们:

为什么它们是本地类型,并且在较新版本的 delphi 中会发生变化?如果我只是将它复制到我的单位,这是一个好习惯吗?

0 投票
1 回答
1092 浏览

delphi - 日期/时间选择器作为 TCollectionItem 后代中的属性编辑器

我正在编写一个需要日期、时间和日期/时间类型属性的组件。我希望这些属性在对象检查器中可见,并可以选择使用弹出属性编辑器。

我已尝试TDate将其作为已发布的属性,这为我提供了仅 Date 所需的结果。但是我需要同样的东西TTimeTDateTime但它们没有属性编辑器,实际上它甚至不接受我在那里输入的任何值。

我发现TDateTimePropertywhich 可以用作属性编辑器,或者无论如何我都理解。我在注册这个组件时已经完成了必要的实现。我需要应用它的这个属性实际上是一个TCollectionItem后代,不一定是组件的一部分,而是在其中。

我就是这样注册的...

虽然这可以编译,但当我安装它时,这个属性上没有属性编辑器。我尝试使用我的组件的类名来代替TMyCollectionItem相同的问题。

我在这里做错了什么来显示这个属性编辑器?

0 投票
1 回答
6138 浏览

delphi - 如何为某种类型的所有实例实现我自己的自定义属性编辑器?

我已经遵循了一些关于创建自定义属性编辑器对话框的教程,但是涉及的东西太多,我无法让它正常工作。我想要完成的是一个带有日期选择器(日历)、时间选择器以及确定和取消按钮的自定义表单。表单完全没有问题,但是我将如何实现它,以便我可以使用按钮在某种类型的任何组件中发布属性以启动属性编辑器?

我想完全覆盖该TDateTime类型并将我的自定义编辑器放在它的位置,因此无论TDateTime在对象检查器中发布并显示 a 的任何地方,我都可以使用此编辑器在同一个窗口中同时修改日期和时间。

问题是关于创建自定义属性编辑器的文档很差,尽管一些资源非常详尽,但它们涉及的功能过于详细,并且缺乏对最常见场景的理解。

0 投票
1 回答
1775 浏览

spring-mvc - 将 PropertyEditor 绑定到列表的所有字段?

在我的 Spring 3.1.2 应用程序中,我有一个带有对象列表的表单,这些对象将在表单中呈现为表格。我想将属性编辑器绑定到列表的一个字段,并且还有许多其他字段共享该类型。

我正在尝试使用该registerCustomEditor(Class, String, PropertyEditor)方法进行绑定,但它不起作用。我可以绑定到具有该类的所有字段,但这不符合我的需要。我试过使用fieldNameand*.fieldName作为参数。如何绑定到列表中对象上的所有字段?

0 投票
2 回答
5327 浏览

spring - Spring PropertyEditor 如何知道要转换哪个 Class 属性

我在 Spring 和 Pro Spring 中搜索了文档。我不明白 CustomerEditorConfigurer 如何知道它应该在哪里应用属性转换。前任 -

我有一个联系人类,它有一个日期变量(jodatTime)我创建了一个扩展 PropertyEditorSupport 的 ContactPropertyEditor,我正在使用 setAsText() 来转换字符串日期。

然后我进入应用程序并定义 CustomerEditorConfigurer,我告诉它将 jodaTime 映射到 ContactPropertyEditor。现在这没有信息告诉 Spring 在创建 Contact 类时使用 ContactPropertyEditor 进行转换。

因此,为了测试我的理论,我创建了另一个具有与联系人相同属性(日期)的类 Contact2。当我运行转换时,Contact2 也会发生,这有点奇怪。

这是代码示例 Contact.java

ContactPropertyEditor.java 导入 java.beans.PropertyEditorSupport;

应用程序上下文.xml

现在你可以看到我所做的只是告诉 org.springframework.beans.factory.config.CustomEditorConfigurer 我的属性转换逻辑是 contactPropertEditor 类。我没有告诉 Spring 在 Contact.java 类上应用它。

魔术是如何发生的。

在 Spring 文档中,它说了一些有意义的东西。

Spring 文档有一个名为 ExoticType() 的类,它具有 name 属性。一个名为 ExoticTypeEditor 的编辑器用于将名称更改为大写,并且应用程序上下文 xml 清晰

在这里,我可以看到我告诉 CustomEditorConfigurer 使用 ExoticTypeEditor 对类 ExoticType 应用转换,但在 Pro Spring 3 书中并非如此。我尝试在 Contact Example 中执行相同的操作,但出现错误。

错误:无法将类型 [java.lang.String] 的值转换为属性“birthDate”所需的类型 [org.joda.time.DateTime]:找不到匹配的编辑器或转换策略

知道我错过了什么吗?

0 投票
4 回答
9537 浏览

spring - 在 Spring 中使用 setAllowedFields() 方法

我正在使用 Spring 3.2.0。我已经为一些基本需求注册了一些自定义属性编辑器,如下所示。

到目前为止,我已经注册了这么多编辑。DateTimeEditor其中两个StrictNumberFormatEditor已通过覆盖各自的方法进行自定义,以满足数字格式和Joda-Time的自定义需求。

由于我使用的是 Spring 3.2.0,因此我可以利用@ControllerAdvice.

Spring 建议使用该方法列出一组允许的字段,setAllowedFields()以便恶意用户无法将值注入绑定对象。

关于_DataBinder

允许在目标对象上设置属性值的绑定器,包括对验证和绑定结果分析的支持。可以通过指定允许字段、必填字段、自定义编辑器等来自定义绑定过程。

请注意,未能设置允许的字段数组可能会带来安全隐患。例如,在 HTTP 表单 POST 数据的情况下,恶意客户端可以尝试通过提供表单上不存在的字段或属性的值来破坏应用程序。在某些情况下,这可能会导致在命令对象或其嵌套对象上设置非法数据。因此,强烈建议allowedFields在 DataBinder 上指定属性。


我有一个很大的应用程序,显然有数千个领域。用 指定和列出所有这些setAllowedFields()是一项乏味的工作。此外,不知何故我需要记住它们。

根据需要更改网页以删除某些字段或添加其他字段需要修改setAllowedFields()方法的参数值以反映这些更改。

有没有其他选择?

0 投票
1 回答
2142 浏览

java - Spring MVC 抽象类绑定

假设我有课:

我想编写单个控制器方法,它的参数类型为Animal

我发现对于非复杂参数,可以通过选择适当propertyEditor@InitBinder方法来完成,即它只会通过不同的方式转换输入字符串。

但是如果Elephant里面Peacock有一些其他的物体呢?在那种情况下,似乎我不能propertyEditor为他们写 s ,而只能为他们的Trunk,TailBeak?.. 我完全糊涂了。

0 投票
0 回答
159 浏览

java - 焦点丢失时,InplaceEditor 不保存属性

我有一个小 Netbeans 应用程序,它带有一个集成在 PropertySheet 中的自定义 InplaceEditor。创建编辑器时,我遵循了本教程: http: //netbeans.dzone.com/nb-custom-float-propertyeditor。我没有发布代码,因为它与教程中的基本相同。

InplaceEditor 内部有一个 JSpinner。当我通过单击向上/向下更改微调器的值时,该属性已正确保存。当我通过键盘输入数字并按回车时,它也可以正常工作。但是当我输入一个数字后没有按回车时,失去焦点时属性值会跳回旧状态。

当焦点丢失时,我需要一些机制来保存属性值(不强制用户按回车键)。我尝试将各种侦听器(例如 KeyListener、FocusListener)添加到微调器以手动更改属性,但由于某种原因这不起作用。

谢谢你的帮助。

0 投票
2 回答
809 浏览

java - 有人知道 SWT 中的 PropertyEditor 或 PropertyGrid 吗?

我正在使用 SWT/JFACE 开发游戏编辑器。我正在 SWT 中寻找类似PropertyEditorPropertyGrid(如PropertyGrid在 C# 中)的东西,以在编辑器中提供对象的修改。有谁知道这样的事情?谢谢