以下是grails中控制器单元测试类的setUp方法中的一大块代码。我试图了解以下设置代码的目的。该应用程序有一个TimeService,负责执行时间操作。我感谢任何帮助!
def customPropertyEditor = new CustomPropertyEditorRegistrar(timeService: new TimeService())
def map = (Map<String, PropertyEditorRegistrar>) servletContext.getAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS)
if (!map) servletContext.setAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS, [customPropertyEditor: customPropertyEditor])
else map.put('customPropertyEditor', customPropertyEditor)
答案 0 :(得分:1)
创建此customPropertyEditor
def customPropertyEditor = new CustomPropertyEditorRegistrar(timeService: new TimeService())
制作servletContext.getAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS
def map = (Map<String, PropertyEditorRegistrar>) servletContext.getAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS)
if (!map)
=如果没有找到地图=由于没有结果而在null中
然后将servletContext.setAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS
设置为顶部customPropertyEditor
servletContext.setAttribute(GrailsDataBinder.PROPERTY_EDITOR_REGISTRARS, [customPropertyEditor: customPropertyEditor])
如果地图中放置了地图customPropertyEditor此值
else map.put('customPropertyEditor', customPropertyEditor)
至于GrailsDataBinder
正在做什么Servlet
Attribute
在代码库中搜索它以查看其他内容正在进行交互
答案 1 :(得分:0)
好吧我发现这段代码负责制作它以便日期能很好地结合。显然,没有干净的方法来绑定grails 2.2中的日期。