我需要通过http请求参数传递一个UUID实例。 Spring需要一个自定义类型转换器(来自String)才能被注册。我如何注册一个?如何在Spring中注册自定义类型转换器?
5
A
回答
0
不确定你在问什么?
Spring自带CustomEditorConfigurer来提供自定义字符串< - >对象转换器。
要使用它,只需将CustomEditorConfigurer作为bean添加到您的配置中,然后添加自定义转换器。但是,这些转换器通常用于将配置文件中的字符串属性转换为实际对象。
如果您在使用Spring MVC,然后看看节上annotated MVC
具体来说,看看在@RequestParam和@ModelAttribute注解?
希望这会帮助吗?
4
请参阅春参考手册这里的第5章:5.4.2.1. Registering additional custom PropertyEditors
4
我有一个MVC控制器RequestMapping注解。一种方法有一个UUID类型的参数。 感谢工具,阅读WebDataBinder后,我想,我需要这样的方法在我的控制器:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(UUID.class, new UUIDEditor());
}
UUIDEditor仅仅简单地扩展PropertyEditorSupport和覆盖getAsText()和setAsText()。
很好地为我工作。
2
扩展到前面的例子。
Controller类
@Controller
@RequestMapping("/showuuid.html")
public class ShowUUIDController
{
@InitBinder
public void initBinder(WebDataBinder binder)
{
binder.registerCustomEditor(UUID.class, new UUIDEditor());
}
public String showuuidHandler (@RequestParam("id") UUID id, Model model)
{
model.addAttribute ("id", id) ;
return "showuuid" ;
}
}
物业去芒格
class UUIDEditor extends java.beans.PropertyEditorSupport
{
@Override
public String getAsText()
{
UUID u = (UUID) getValue() ;
return u.toString() ;
}
@Override
public void setAsText (String s)
{
setValue (UUID.fromString (s)) ;
}
}
相关问题
- 1. 如何使用spring启动注册自定义休眠类型?
- 2. 如何在Spring-MVC中注册全局自定义编辑器?
- 3. 如何在spring 3/webflow 2中注册自定义转换服务?
- 4. 如何在iOS中注册自定义文件类型
- 5. 注册自定义后类型WordPress的
- 6. 如何在Grails 3中注册自定义的验证器类
- 7. 将自定义类型转换器添加到Spring XD
- 8. 在Kentico中注册自定义类9
- 9. 在自定义ValueInjecter注入中动态类型转换
- 10. Unity IOC - 如何基于自定义属性注册类型?
- 11. 如何在Mule + Jersey + Spring中注册自定义异常映射器?
- 12. Ionic 2:在RC.0中注册自定义类型文件
- 13. Drupal在注册时自动创建自定义内容类型
- 14. 类型转换为自定义类 - C++
- 15. 将ConversionService注入自定义转换器
- 16. 在自定义类型转换器中调用Mapper.Map
- 17. AutoMapper,在自定义类型转换器中调用Mapper.Map()?
- 18. 如何在自定义过滤器弹簧安全中注册自定义FailureHandler
- 19. 如何在定义类时自动注册类
- 20. 在Swift中为自定义类型定义显式转换
- 21. 如何在JSF中注册自定义渲染器?
- 22. 如何在PRISM中注册自定义模块管理器?
- 23. 如何在Silex/Twig中注册自定义表单字段类型?
- 24. AutoMapper - 如何在自定义类型转换器中使用自定义值解析器
- 25. 自定义类型转换值
- 26. rails:rabl gem,自定义类型转换
- 27. 取消注册Magnolia中的自定义节点类型
- 28. 如何将IEnumerable转换为C#中的自定义类型?
- 29. 如何:sfForkedDoctrineApply自定义注册表
- 30. Delphi - 如何注册自定义表格