2010-12-12 76 views
2

我创建了一个名为Person的类。然后,我通过Spring控制器将此类的一个对象传递给JSP页面,例如abc.htm将对象从JSP传递到Spring控制器

现在我想让它从abc.htm转移回另一个控制器。 我怎么能这样做?

另外告诉我,如果有任何其他类对象(比如Address类对象)使用该人物对象作为参数,那么如何将该类对象传递给控制器​​。

我很困惑,请帮助我。

+1

你应该接受一些答案。 – Bozho 2010-12-21 20:17:36

+0

虽然与此上下文无关,但如果它是'EJB&JSF'或'Grails&GSP',则可以实现此行为。 – 2018-01-24 06:24:14

回答

1

页面呈现后,你不再处于“Java领域”,所以你没有你的对象。您可以根据在下一个请求中发回的参数重建它们。

这被称为“绑定”。在Spring MVC中,如果您使用的是<form:x> tags,则会自动完成(或多或少)。然后,在你的控制你的对象将是可访问的方法属性:

@RequestMapping(..) 
public String foo(YourObject object) {..} 

您可能需要一个@ModelAttribute注释,如果你的特性参数的名称和一个在JSP是不一样的。所述MVC docs写:

的命令或形式的对象的参数绑定到:bean属性或字段,具有可定制的类型转换,这取决于@InitBinder方法和/或所述的HandlerAdapter配置。请参阅AnnotationMethodHandlerAdapter上的webBindingInitializer属性。这些命令对象及其验证结果默认情况下将作为模型属性公开,在属性表示法中使用非限定命令类名称。例如,“mypackage.OrderAddress”类型的“orderAddress”。指定参数级别的ModelAttribute注释以声明特定的模型属性名称。

我建议您复习PetClinic Sample Application,看看它是如何工作的。

相关问题