簡體   English   中英

設置會話變量spring mvc 3

[英]Set session variable spring mvc 3

如何使用${variable}${requestScope.variable}設置我可以在任何視圖中使用的會話對象

為了能夠使用會話,我需要設置<%@ page session="true" %>嗎?

如果要在視圖中訪問會話變量,最簡單的方法是:

${sessionScope.yourVariable} 

有關詳細信息,請參閱使用范圍對象

如果設置<%@ page session="true">則JSP會將會話范圍和頁面范圍合並到單個命名空間中。 然后你可以這樣做:

${yourVariable}

您可以在mvc控制器中將某些內容放入會話中,如下所示:

@RequestMapping("/test")
@Controller
public class TestController {
    @RequestMapping(method = RequestMethod.GET)
    public String testMestod(HttpServletRequest request)
    {
        request.getSession().setAttribute("testVariable", "Test Values!!");
        return "testJsp";
    }
}

最后,@ SessionAttribute用於特定用例,並且不會將變量放入會話中,以便任何人都可以訪問它們:

以下是春天人們如何描述@SessionAttribute的功能:

@SessionAttributes的工作方式與SimpleFormController的sessionForm相同。 它將命令(或@SessionAttributes任何對象)放在會話中,持續時間為第一個和最后一個請求(大多數時間是初始GET和最終POST)。 之后,東西被刪除。

每個Controller都有自己的ModelMap,因此在controller1中作為@SessionAttributes放置的內容在controller2中不可用,反之亦然。 為此,你必須自己手動將東西放在會話上。

使用SessionAttributes Annotation。 請在彈簧文檔中查看

您還可以使用DefaultSessionAttributeStore api手動添加和刪除會話中的變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM