Spring Mvc/Jpa-OneToMany:如何显示与另一个类关联的类的列表

Spring Mvc/Jpa-OneToMany:如何显示与另一个类关联的类的列表

问题描述:

我有一个具有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

为什么你不能够显示序列的原因是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