我想测试一个@ModelAttribute用于其方法参数之一的控制器.
public String processSaveAction(@ModelAttribute("exampleEntity") ExampleEntity exampleEntity)
Run Code Online (Sandbox Code Playgroud)
@ModelAttribute方法getExampleEntity是使用@RequestParam:
@ModelAttribute("exampleEntity")
public ExampleEntity getExampleEntity(@RequestParam(value = "id", required = true) ExampleEntity exampleEntity) {
Run Code Online (Sandbox Code Playgroud)
我的控制器WebDataBinder用于调用工厂,该工厂根据参数"id"返回一个对象.
@Controller
public class ExampleController(){
@Autowired private IdEditorFactory idEditorFactory;
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(ExampleEntity.class, idEditorFactory.createEditor(ExampleEntity.class));
}
@ModelAttribute("exampleEntity")
public ExampleEntity getExampleEntity(@RequestParam(value = "id", required = true) ExampleEntity exampleEntity) {
//Irrelevant operations
return exampleEntity;
}
@RequestMapping(method = RequestMethod.POST, params = "action=save")
public String processSaveAction(
@RequestParam(value = "confirmed") String exampleString,
@ModelAttribute("exampleEntity") ExampleEntity exampleEntity, …Run Code Online (Sandbox Code Playgroud)