2012-08-12 118 views
0

我有一個具有OneToMany類與一個類序列綁定的類Module。 我的目標是顯示模塊列表,並通過點擊其中一個,顯示相關的序列列表 但它不起作用,我有一個HTTP 500錯誤。Spring Mvc/Jpa-OneToMany:如何顯示與另一個類關聯的類的列表

這裏有我的控制器:

@RequestMapping(value="formation", method = RequestMethod.GET) 
public ModelAndView allModules() { 
List<Module> allModules = moduleService.findAll(); 
return new ModelAndView("formation", "modules", allModules); 
} 

@RequestMapping(value="sequences/{module}", method = RequestMethod.GET) 
public String displaySequences(@PathVariable ("module") Module module, Model model) { 
List<Sequence> allSequences = sequenceService.findByModule(module); 
model.addAttribute("sequences", allSequences); 
return "sequences"; 
} 

和JSP這顯示模塊列表返回序列

<c:forEach items="${modules}" var="module"> 
      <ul> 
       <li><a href="sequences/${module}">${module.titre}</a> 
        <br/> 
       </li> 
      </ul> 
     </c:forEach> 

那麼,哪裏從何而來我的錯誤列表?

它的工作原理,當我做到這一點:

@RequestMapping(value="/sequences/{moduleId}", method = RequestMethod.GET) 
public String displaySequences(@PathVariable ("moduleId") Long moduleId, Model model) { 
Module module = moduleService.findById(moduleId); 
model.addAttribute("module", module); 
return "sequences"; 
} 

,我改變鏈接與:

<a href="sequences/${module}">${module.titre} 

,但我想了解我的錯誤。

+0

您是否看到JSP代替$ {module}呈現的內容? – 2012-08-12 18:58:27

+0

它是一種代碼/myAppli/sequences/[email protected],其中com.almerys.jpa.tomcatspring是模塊類所在的軟件包。 – 2012-08-12 19:25:51

回答

0

爲什麼你不能夠顯示序列的原因是Spring不知道如何解析這個

/cmap-web/sequences/[email protected]

到模塊實例。

您可以在Spring的文檔here中閱讀本節的16.3.2.2 URI Template Patterns最後一段。爲了方便,我在這裏粘貼它。

@PathVariable參數可以是任何簡單類型,例如int,long,Date等。Spring會自動轉換爲適當的類型,否則會拋出TypeMismatchException(如果不這樣做)。您還可以註冊對解析附加數據類型的支持。請參見第16.3.3.14節「方法參數和類型轉換」和第16.3.3.15節「自定義WebDataBinder初始化」。

+0

我可能沒有每件事情做好,因爲我希望通過增加模塊類轉換爲字符串 '@InitBinder \t公共無效initBinder(WebDataBinder粘合劑){ \t \t binder.registerCustomEditor(Module.class,新PropertiesEditor()) ; \t}' 在閱讀Spring文檔第16.3.2.2節中的URI模板模式和[here](http://static.springsource.org/spring/docs/3.0.x/reference/validation.html #beans-beans-conversion),但現在我有一個HTTP 400錯誤。 有什麼問題? – 2012-08-12 20:52:25

+0

我嘗試了[this](http://empire5.com/development/binding-a-custom-object-in-spring-3/)和[this]的組合(http://empire5.com/2011/ 05 /)但我有一個白頁 – 2012-08-12 23:18:41

+0

請發佈您的代碼爲PropertiesEditor類。 – 2012-08-13 03:51:40

相關問題