javascript
Spring MVC会话教程
會(huì)話管理是每個(gè)Web應(yīng)用程序必不可少的部分。 由于Spring MVC是用于Web開發(fā)的功能強(qiáng)大的框架,因此它具有自己的工具和API與會(huì)話進(jìn)行交互。 今天,我打算向您展示Spring MVC應(yīng)用程序中會(huì)話處理的基本方法。 這意味著處理表單,將對(duì)象添加到會(huì)話中,在JSP上顯示會(huì)話中的對(duì)象。 我將盡力而為,讓我們開始吧。
本Spring MVC Session教程將基于我博客上與表單處理相關(guān)的先前文章之一。 我將通過(guò)向現(xiàn)有的學(xué)生表單添加會(huì)話邏輯來(lái)擴(kuò)展應(yīng)用程序,創(chuàng)建一個(gè)新的一頁(yè),其中包含表單和單個(gè)文本字段。 來(lái)自該字段的文本將由某個(gè)控制器處理
并添加到會(huì)話中。 為了檢查會(huì)話功能,我將使用JSTL在頁(yè)面上顯示會(huì)話對(duì)象。 您可以在本教程的末尾下載本教程的src。
帶有單個(gè)文本字段的表單
首先,我需要?jiǎng)?chuàng)建一個(gè)視圖和控制器。 我將從視圖創(chuàng)建開始,然后,我將使用會(huì)話邏輯演示相應(yī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ā)控制器來(lái)處理表單。 將有兩種方法來(lái)處理請(qǐng)求:第一種方法負(fù)責(zé)導(dǎo)航到頁(yè)面,第二種方法與會(huì)話活動(dòng)有關(guān)。
@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;}}這是一個(gè)簡(jiǎn)單的Spring MVC控制器,帶有一個(gè)額外的@SessionAttributes批注。 它表明可以在控制器的方法中為注釋的參數(shù)分配一些值。 在此示例中,我只聲明了一個(gè)名稱為“ think ”的會(huì)話屬性。 這意味著我可以使用addObject()方法將某些對(duì)象放入modelAndView中 ,并且如果對(duì)象名稱與@SessionAttributes中的參數(shù)名稱相同,它將被添加到會(huì)話中。 我最后要做的就是在index.jsp上添加指向新頁(yè)面的鏈接:
...<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> ...為了檢查會(huì)話是否正常運(yùn)行,您需要在現(xiàn)有視圖(single-field-page.jsp,…)中添加以下代碼:
<p>Don't forget: ${thought}</p>在下面的屏幕截圖中,您可以看到代碼工作的結(jié)果:
結(jié)果:
和
將自定義對(duì)象添加到會(huì)話中
在本節(jié)中,我將向您展示如何在會(huì)話中添加自定義對(duì)象,以及如何在JSP上顯示對(duì)象的屬性。 自定義對(duì)象的角色將扮演Person對(duì)象。 首先,我將修改現(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;}}與最新版本相比,我添加了兩個(gè)新字符串:
... @SessionAttributes("personObj") ... modelAndView.addObject("personObj", person); ...代碼執(zhí)行的結(jié)果如下:
和
Spring MVC會(huì)話教程到此結(jié)束。 正如我之前所承諾的,我提供了到項(xiàng)目源的鏈接 。 我在帖子中提到的所有內(nèi)容只是部分內(nèi)容,您應(yīng)該了解有關(guān)會(huì)話的信息,稍后我將寫一篇有關(guān)不同重要功能的帖子。
翻譯自: https://www.javacodegeeks.com/2013/04/spring-mvc-session-tutorial.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Spring MVC会话教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: wps中ppt的序号改(PPT幻灯片的编
- 下一篇: Maven的Spring Securit