当前位置: 首页 > 知识库问答 >
问题:

从jsp页面检索多个模型属性(Spring)

别旻
2023-03-14

在ReservationController中。java我有以下方法,它从新的reservation中获取reservation对象。jsp

    @PostMapping("/addBookToReservation")
    public String addBookToReservation(Model model,
                                      @Valid @ModelAttribute("reservation") Reservation reservation,
                                      BindingResult result,
                                      RedirectAttributes redirectAttributes) {
        
        if(result.hasErrors()) {
            return "reservation/new-reservation";
        }
    
        redirectAttributes.addFlashAttribute("reservation", reservation);
        
        return "redirect:/book/add-book";
    }

并将其发送到BookController。java,其中另一个方法向模型添加另一个属性

    @GetMapping("/book/add-book")
    public String showAddBookForm(Model model) {

        model.addAttribute("book", new Book());
        Reservation reservation = (Reservation) model.getAttribute("reservation");
        System.out.println(reservation);       //prints the object I passed it!

        return "/book/add-book";
    }

并返回以下addbook。jsp

<form:form action="/addBook" modelAttribute="book" method="post">                    
   <div>
        <div>
            <form:label path="title">Title</form:label>
            <form:input type="text" id="title" path="title" />
            <form:errors path="title" />
        </div>
        ...
    </div>
    <div>
        <input type="submit" value="Add book">
    </div>
</form:form>

现在,当我处理表单的action addBook时

    @PostMapping("/addBook")
    public String addBook(@Valid @ModelAttribute Book book,
                            BindingResult result,
                            Model model) {
        
        if (result.hasErrors()) {
            return "book/add-book";
        }
        
        Reservation reservation = (Reservation) model.getAttribute("reservation");
        System.out.println(reservation); // reservation is null!!
        
        
        return "somewhere/else";
    } 

我试图从模型中检索保留对象,但得到一个空。我如何通过我之前向您展示过的JSP传递我的预订对象?

共有1个答案

方增
2023-03-14

尝试在控制器顶部添加模型属性的@SessionAttributes,并在完成后删除会话属性

@SessionAttributes("reservation")
 类似资料:
  • 我创建了一个jsp表单,它想将数据发送到两个表。这意味着我创建了两个模型类,所以表单应该引用这两个模型类。我试过了,但是失败了。如何从一个jsp页面获得两个模型属性并分配给一个控制器。提前感谢。 jsp表单 控制器

  • 我试图用SpringMVC和JSP页面创建一个示例注册页面。 在tomcat服务器上打开url时,我发现以下错误 我有一个JSPregister.jsp 我有一个控制器类UserController。JAVA 还有success.jsp一页 我在stackoverflow上尝试了许多解决方案。。。。但没有一个成功。

  • 本文向大家介绍JavaScript 从对象检索属性,包括了JavaScript 从对象检索属性的使用技巧和注意事项,需要的朋友参考一下 示例 性能特点: 可以从对象检索的属性可能具有以下特征, 可数 不可数 拥有 在使用创建属性时,我们可以设置其特征(“ own”除外)。在对象的直接级别而非原型级别()可用的属性称为自己的属性。Object.defineProperty(ies)__proto__

  • 我有一个要求检索属性文件的环境名称区分这些。 Spring:profiles:dev application:name:config-client cloud:config:uri:http://localhost:1000//config服务器端口profile:sbx,dev,test,prod management.endpoints.web.exposure.include:“*”

  • 我已经在我的Laravel应用程序中实现了ZendSearch。我使用它作为我的搜索引擎,用户将键入一个搜索词,然后将返回一个按相关性排序的结果数组。但是,返回的数组只返回我的记录ID(它不返回任何实际的记录信息)。 接下来查询我的模型以基于数组结果检索结果的正确方法是什么?该数组结果只是一个基于相关性排序的ID数组。 我知道会返回ID为1的记录,但我如何向方法提供我希望按给定顺序返回的ID数组。