我可以在单个Spring Handler方法中使用多个@ModelAttribute批注吗

时间:2018-07-03 20:27:14

标签: java spring jsp

问题陈述:我必须在JSP上显示来自两个独立模型的数据。

例如,有两种模式:帐户和学生。

Student Model的属性是可编辑的,因此,我可以使用spring形式的modelattribute并将数据从jsp映射到我的java对象。

account的属性仅可读,但是正如我已经在modelattribute中提到过的学生模型那样,在jsp形式中,每个jsp形式只能有一个modelattribute,因此我无法将帐户分配给Jsp spring形式的modelattribute 。在这种情况下,帐户模型的数据将如何在Jsp中显示。

其次,写: public String requestHandlingMethod(@ModelAttribute学生,@ ModelAttribute学生)

这是否有效,即Spring处理程序方法中有两个@ModelAttribute

1 个答案:

答案 0 :(得分:2)

一种方法是创建一个具有“学生”和“帐户”作为属性的新类。这样,您在处理程序方法中只需要一个@ModelAttribute。

Public Class StudentAcctWrapper{
private Student student;
private Account account;

您可以通过StudentAcctWrapper实例在您的视图中访问相应的字段。