《JSP极简教程》在jsp页面获取session对象

来源:互联网 发布:web优化 sysctl 编辑:程序博客网 时间:2024/05/18 03:19

两种方法

1、request.getSession().getAttribute("X")
2、${sessionScope.X}

九大内置对象

JSP中有九大内置对象,可以直接用session,也可以获取从request中取,其本质都是同一个。九大内置对象如下:

JSP中九大内置对象为:

内置对象说明类型作用域request请求对象 javax.servlet.ServletRequestRequestresponse响应对象javax.servlet.SrvletResponsePagepageContext页面上下文对象javax.servlet.jsp.PageContextPagesession会话对象javax.servlet.http.HttpSessionSessionapplication应用程序对象javax.servlet.ServletContextApplicationout输出对象javax.servlet.jsp.JspWriterPageconfig配置对象javax.servlet.ServletConfigPagepage页面对象javax.lang.ObjectPageexception异常对象javax.lang.Throwablepage

代码实例

jsp

<button type="button" class="username dropdown-toggle" data-toggle="dropdown" aria-expanded="false">                        ${sessionScope.currentUser.username}<span class="caret"></span> </button>

java

package com.restfeel.controllerimport org.slf4j.LoggerFactoryimport org.springframework.beans.factory.annotation.Valueimport org.springframework.security.core.context.SecurityContextHolderimport org.springframework.security.core.userdetails.UserDetailsimport org.springframework.stereotype.Controllerimport org.springframework.web.bind.annotation.RequestMappingimport org.springframework.web.bind.annotation.RequestMethodimport java.util.*import javax.servlet.http.HttpServletRequestimport javax.servlet.http.HttpServletResponse/** * Created by jack on 2017/3/30. */@Controllerclass HomeController {    internal var logger = LoggerFactory.getLogger(AppController::class.java)    @Value("\${application.message:REST Feel}")    private val message = "REST Feel"    @RequestMapping("/")    fun home(model: MutableMap<String, Any>, request: HttpServletRequest, response: HttpServletResponse): String {        model.put("time", Date())        model.put("message", this.message)        val authentication = SecurityContextHolder.getContext().authentication        val currentUser  =if (authentication == null) null!! else authentication.principal as UserDetails        model.put("currentUser", currentUser)        // put currentUser into session        request.getSession().setAttribute("currentUser",currentUser)        return "jsp/home"    }}

源代码工程:

https://github.com/Jason-Chen-2017/restfeel

原创粉丝点击