我需要通过http请求参数传递一个UUID实例。Spring需要注册一个自定义类型转换器(从字符串)。我如何注册一个?
发布于 2008-09-16 01:11:31
请参阅spring参考手册的第5章:5.4.2.1. Registering additional custom PropertyEditors
发布于 2008-09-16 04:07:29
我有一个带有RequestMapping注释的MVC控制器。一个方法有一个UUID类型的参数。谢谢工具包,在阅读了WebDataBinder之后,我想我需要在我的控制器中有一个这样的方法:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(UUID.class, new UUIDEditor());
}UUIDEditor简单地扩展了PropertyEditorSupport并覆盖了getAsText()和setAsText()。
对我来说很有效。
发布于 2009-10-12 15:02:23
是对上一个例子的扩展。
控制器类
@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)) ;
}
}https://stackoverflow.com/questions/67980
复制相似问题