类org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder源码实例Demo

下面列出了怎么用org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder的API类实例代码及写法,或者点击链接到github查看源代码。

@Test
public void Date型のプロパティエディタが検索できる() {
    registry = new ExtendedServletRequestDataBinder(new TestBean());
    registrar = new JseDefaultDatePropertyEditorRegistrar();
    registrar.registerCustomEditors(registry);
    PropertyEditor editor = registry.findCustomEditor(Date.class, "birth");
    assertThat(editor, is(notNullValue()));
    assertThat(editor.getClass().getName(), is(DateEditor.class.getName()));
}
 
@Test
public void allowEmptyプロパティの設定が反映される() {
    registry = new ExtendedServletRequestDataBinder(new TestBean());
    registrar = new JseDefaultDatePropertyEditorRegistrar();
    registrar.setAllowEmpty(true);
    registrar.registerCustomEditors(registry);
    PropertyEditor editor = registry.findCustomEditor(Date.class, "birth");
    DateEditor dateEditor = (DateEditor)editor;
    dateEditor.setAsText(null);
    assertThat(dateEditor.getAsText(), is(""));
}
 
@Test
public void patternプロパティの設定が反映される() {
    registry = new ExtendedServletRequestDataBinder(new TestBean());
    registrar = new JseDefaultDatePropertyEditorRegistrar();
    registrar.setPattern("yyyy-MM-dd");
    registrar.registerCustomEditors(registry);
    PropertyEditor editor = registry.findCustomEditor(Date.class, "birth");
    DateEditor dateEditor = (DateEditor)editor;
    dateEditor.setAsText("2013-01-01");
    assertThat(dateEditor.getAsText(), is("2013-01-01"));
}
 
@Test
public void 各タイプに合わせたプロパティエディタ一括登録されていることを確認() {
    registry = new ExtendedServletRequestDataBinder(new TestBean());
    registrar = new JseDefaultNumberPropertyEditorRegistrar();
    registrar.registerCustomEditors(registry);
    
    PropertyEditor editor = registry.findCustomEditor(Byte.class, "byteP");
    assertThat(editor, is(notNullValue()));
    assertThat(editor.getClass().getName(), is(HalfwidthNumberEditor.class.getName()));
    
    editor = registry.findCustomEditor(Short.class, "shortP");
    assertThat(editor, is(notNullValue()));
    assertThat(editor.getClass().getName(), is(HalfwidthNumberEditor.class.getName()));
    
    editor = registry.findCustomEditor(Integer.class, "integerP");
    assertThat(editor, is(notNullValue()));
    assertThat(editor.getClass().getName(), is(HalfwidthNumberEditor.class.getName()));
    
    editor = registry.findCustomEditor(Long.class, "longP");
    assertThat(editor, is(notNullValue()));
    assertThat(editor.getClass().getName(), is(HalfwidthNumberEditor.class.getName()));
    
    editor = registry.findCustomEditor(BigInteger.class, "bigIntegerP");
    assertThat(editor, is(notNullValue()));
    assertThat(editor.getClass().getName(), is(HalfwidthNumberEditor.class.getName()));
    
    editor = registry.findCustomEditor(Float.class, "floatP");
    assertThat(editor, is(nullValue()));
    
    editor = registry.findCustomEditor(Double.class, "doubleP");
    assertThat(editor, is(nullValue()));
    
    editor = registry.findCustomEditor(BigDecimal.class, "bigDecimalP");
    assertThat(editor, is(notNullValue()));
    assertThat(editor.getClass().getName(), is(HalfwidthDecimalEditor.class.getName()));
}
 
@Test
public void allowEmptyプロパティの設定が反映される() {
    registry = new ExtendedServletRequestDataBinder(new TestBean());
    registrar = new JseDefaultNumberPropertyEditorRegistrar();
    registrar.setAllowEmpty(true);
    registrar.registerCustomEditors(registry);
    PropertyEditor editor = registry.findCustomEditor(Byte.class, "byteP");
    editor.setAsText(null);
    assertThat(editor.getAsText(), is(""));
}
 
 同包方法