您的位置:首页 > Web前端 > JavaScript

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

2017-09-13 14:26 941 查看

两种方法

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

九大内置对象

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

JSP中九大内置对象为:

内置对象说明类型作用域
request请求对象 javax.servlet.ServletRequestRequest
response响应对象javax.servlet.SrvletResponsePage
pageContext页面上下文对象javax.servlet.jsp.PageContextPage
session会话对象javax.servlet.http.HttpSessionSession
application应用程序对象javax.servlet.ServletContextApplication
out输出对象javax.servlet.jsp.JspWriterPage
config配置对象javax.servlet.ServletConfigPage
page页面对象javax.lang.ObjectPage
exception异常对象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.controller

import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Value
import org.springframework.security.core.context.SecurityContextHolder
import org.springframework.security.core.userdetails.UserDetails
import org.springframework.stereotype.Controller
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestMethod
import java.util.*
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse

/**
* Created by jack on 2017/3/30.
*/

@Controller
class 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: