【问题标题】:Spring MockMvc Passing Nested Form ParametersSpring MockMvc 传递嵌套表单参数
【发布时间】:2014-04-14 00:53:42
【问题描述】:

我有以下表格

public class MyForm {
private Account account;
}

public class Account {
private String firstName;
}

如何传递 firstName 参数? (下面的方法不行)

mockMvc.perform(post("/xyz")
                .param("account.firstName", "John"))
                .andExpect(model().hasErrors())
                .andExpect(view().name("/xyz"))
                .andExpect(status().isOk())

【问题讨论】:

    标签: spring spring-test spring-test-mvc


    【解决方案1】:

    最后我解决了这个问题。由于我使用的是独立设置,因此我必须定义验证器和消息源。

    void setupTest() {
            MockitoAnnotations.initMocks(this)
    
            this.mockMvc = MockMvcBuilders.standaloneSetup(getController())
                    .setValidator(getValidator())
                    .alwaysDo(MockMvcResultHandlers.print())
                    .build()
        }
    
        private MessageSource getMessageSource() {
            ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
    
            messageSource.setBasename("messages");
            messageSource.setUseCodeAsDefaultMessage(true);
    
            return messageSource;
        }
    
        private LocalValidatorFactoryBean getValidator() {
            def validator = new LocalValidatorFactoryBean()
            validator.setValidationMessageSource(getMessageSource());
    
            return validator;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      相关资源
      最近更新 更多