spring - 维护页面之间的模型数据(Spring 3 MVC)

标签 spring spring-mvc

我在 Spring 中有一个添加联系人流程,该流程将跨越多个页面,第一页将接受文本输入,第二页将接受图像输入,第三页将显示草稿。

首页

@RequestMapping("/addContact")
public String registerContact(@ModelAttribute Contact contact) {
 return "addContact";
}
@RequestMapping("/addContact")

第二页

@RequestMapping("/addImages")
public String registerImages(@Valid Contact contact, BindingResult result) {
 return "addImages";
}

如何维护页面之间的联系模型数据,以便用户可以选择在页面之间来回移动?

最佳答案

如果您有一个 Controller 处理所有页面,您可以使用@SessionAttributes来存储 session 中请求之间的Contact。在最后一个页面之后,使用 SessionStatus 来标记 @SessionAttribtues 的使用已完成(用于清理)。

@Controller
@SessionAttributes("contact")
public AddContactController {

    @ModelAttribute
    public Contact contact() {
        return new Contact();
    }

    @RequestMapping("/addContact")
    public String registerContact(@ModelAttribute Contact contact) {
        return "addContact";
    }

    @RequestMapping("/addImages")
    public String registerImages(@Valid @ModelAttribute Contact contact, BindingResult result) {
        return "addImages";
    }

    @RequestMapping("/save")    
    public String firstPage(@ModelAttribute Contact contact, SessionStatus status) {
      status.complete();
    }
}

关于spring - 维护页面之间的模型数据(Spring 3 MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18781439/

相关文章:

java - 为什么Spring在bean实例化失败的情况下还要继续初始化context?

spring-mvc - java.lang.ClassNotFoundException : org. springframework.security.access.expression.SecurityExpressionHandler 使用 <security:authorize > 标签时

java - 发送电子邮件时出现 Spring 错误

java - 具有 Integer 值作为 @RequestParam 的 spring mvc Controller 的单元测试

Spring Security登录页面与loginProcessingURL

java - 如何从普通请求调用即@RequestMapping 调用@SendTo

java - 在 Spring Boot 中以编程方式注册 Spring Converter

html - Spring Boot 不提供来自 html 文件的 css 内容

spring - 如何自定义 Hibernate @Size 错误消息以指示输入字段的长度

java - 通过 Spring JDBC 流式传输数据,长度未知