2014-09-04 193 views
1

我在春天的Web應用程序使用工作作爲thymeleaf的解析器最近,和我的深化發展控制器時,我面臨着新的形勢:@PathVariable春季控制器

我真的不知道這件事,但是能從視圖傳遞的@Pathvariable是一個對象? (一個模型的複合鍵是精確的?)

我以前使用過ids,但大多數都是簡單的int ids,我只想知道傳遞一個對象(這是我的對象的主鍵)是可能的,而不是簡單的int ID?

,並感謝您

+0

我想你可以......唯一的問題是你將不得不告訴春天如何將字符串值(路徑值將一個字符串右)到對象...春天使用屬性編輯器(通過initBinder)來做到這一點......所以你可以註冊一個新的屬性編輯器,它可以做轉換,那麼它應該是可能的 – 2014-09-04 03:23:34

回答

1

你可以使用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)); 
} 
} 

而是直接保存對象時,數據庫可能會遇到一些問題。

+0

我明白你的觀點,但問題是我的模型有一個conpound主鍵,這意味着,要找到整個對象,我需要兩個變量,而不是像你放置的例子那樣。我不太明白在哪裏使用這個轉換器:在控制器中? – Aissasa 2014-09-04 11:18:39