我在春天的Web应用程序使用工作作为thymeleaf的解析器最近,和我的深化发展控制器时,我面临着新的形势:@PathVariable春季控制器
我真的不知道这件事,但是能从视图传递的@Pathvariable
是一个对象? (一个模型的复合键是精确的?)
我以前使用过ids,但大多数都是简单的int ids,我只想知道传递一个对象(这是我的对象的主键)是可能的,而不是简单的int ID?
,并感谢您
我在春天的Web应用程序使用工作作为thymeleaf的解析器最近,和我的深化发展控制器时,我面临着新的形势:@PathVariable春季控制器
我真的不知道这件事,但是能从视图传递的@Pathvariable
是一个对象? (一个模型的复合键是精确的?)
我以前使用过ids,但大多数都是简单的int ids,我只想知道传递一个对象(这是我的对象的主键)是可能的,而不是简单的int ID?
,并感谢您
你可以使用Spring属性编辑器或Spring转换器看到Spring Convertor
例如
public class CategoryConverter implements Converter<String, Category>{
@Autowired
private CategoryService categoryService;
public Category convert(String id) {
return categoryService.findById(Long.valueOf(id));
}
}
而是直接保存对象时,数据库可能会遇到一些问题。
我明白你的观点,但问题是我的模型有一个conpound主键,这意味着,要找到整个对象,我需要两个变量,而不是像你放置的例子那样。我不太明白在哪里使用这个转换器:在控制器中? – Aissasa 2014-09-04 11:18:39
我想你可以......唯一的问题是你将不得不告诉春天如何将字符串值(路径值将一个字符串右)到对象...春天使用属性编辑器(通过initBinder)来做到这一点......所以你可以注册一个新的属性编辑器,它可以做转换,那么它应该是可能的 – 2014-09-04 03:23:34