javascript
Spring MVC会话教程
會話管理是每個Web應用程序必不可少的部分。 由于Spring MVC是用于Web開發(fā)的功能強大的框架,因此它具有自己的工具和API與會話進行交互。 今天,我打算向您展示Spring MVC應用程序中會話處理的基本方法。 這意味著處理表單,將對象添加到會話中,在JSP上顯示會話中的對象。 我將盡力而為,讓我們開始吧。
本Spring MVC Session教程將基于我博客上與表單處理相關的先前文章之一。 我將通過向現(xiàn)有的學生表單添加會話邏輯來擴展應用程序,創(chuàng)建一個新的一頁,其中包含表單和單個文本字段。 來自該字段的文本將由某個控制器處理
并添加到會話中。 為了檢查會話功能,我將使用JSTL在頁面上顯示會話對象。 您可以在本教程的末尾下載本教程的src。
帶有單個文本字段的表單
首先,我需要創(chuàng)建一個視圖和控制器。 我將從視圖創(chuàng)建開始,然后,我將使用會話邏輯演示相應的控制器。
... <h2>Adding of a String into the session</h2><form action="remember.html" method="post"> <table> <tbody><tr> <td>To remember:</td> <td><input name="thoughtParam" type="text"></td> </tr> <tr> <td><input type="submit"></td> <td></td> </tr> </tbody></table> </form> <a href="${pageContext.request.contextPath}/">Main page</a> ...現(xiàn)在,我需要開發(fā)控制器來處理表單。 將有兩種方法來處理請求:第一種方法負責導航到頁面,第二種方法與會話活動有關。
@Controller @SessionAttributes("thought") public class SingleFieldController {@RequestMapping(value="/single-field")public ModelAndView singleFieldPage() {return new ModelAndView("single-field-page");}@RequestMapping(value="/remember") public ModelAndView rememberThought(@RequestParam String thoughtParam) {ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("thought", thoughtParam);modelAndView.setViewName("single-field-page");return modelAndView;}}這是一個簡單的Spring MVC控制器,帶有一個額外的@SessionAttributes批注。 它表明可以在控制器的方法中為注釋的參數(shù)分配一些值。 在此示例中,我只聲明了一個名稱為“ think ”的會話屬性。 這意味著我可以使用addObject()方法將某些對象放入modelAndView中 ,并且如果對象名稱與@SessionAttributes中的參數(shù)名稱相同,它將被添加到會話中。 我最后要做的就是在index.jsp上添加指向新頁面的鏈接:
...<h1>Home page</h1><p>This is Home page.</p><p>Don't forget: ${thought}</p><p><a href="person-form.html">Person page</a> <br><a href="single-field.html">Single field page</a></p> ...為了檢查會話是否正常運行,您需要在現(xiàn)有視圖(single-field-page.jsp,…)中添加以下代碼:
<p>Don't forget: ${thought}</p>在下面的屏幕截圖中,您可以看到代碼工作的結果:
結果:
和
將自定義對象添加到會話中
在本節(jié)中,我將向您展示如何在會話中添加自定義對象,以及如何在JSP上顯示對象的屬性。 自定義對象的角色將扮演Person對象。 首先,我將修改現(xiàn)有的人控制器:
@Controller @SessionAttributes("personObj") public class PersonController {@RequestMapping(value="/person-form")public ModelAndView personPage() {return new ModelAndView("person-page", "person-entity", new Person());}@RequestMapping(value="/process-person")public ModelAndView processPerson(@ModelAttribute Person person) {ModelAndView modelAndView = new ModelAndView();modelAndView.setViewName("person-result-page");modelAndView.addObject("pers", person);modelAndView.addObject("personObj", person);return modelAndView;}}與最新版本相比,我添加了兩個新字符串:
... @SessionAttributes("personObj") ... modelAndView.addObject("personObj", person); ...代碼執(zhí)行的結果如下:
和
Spring MVC會話教程到此結束。 正如我之前所承諾的,我提供了到項目源的鏈接 。 我在帖子中提到的所有內容只是部分內容,您應該了解有關會話的信息,稍后我將寫一篇有關不同重要功能的帖子。
翻譯自: https://www.javacodegeeks.com/2013/04/spring-mvc-session-tutorial.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的Spring MVC会话教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wps中ppt的序号改(PPT幻灯片的编
- 下一篇: 约法三章什么意思解释(成语约法三章出自哪