當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringBoot 处理内置对象
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot 处理内置对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在這種模板開發框架里面是不提倡使用內置對象的,但是很多的開發者依然需要使用內置對象進行處理,所以下面來看下如何在頁面中采用內置對象的方式完成.1. 在控制器里面追加一個方法, 這個方法將采用內置對象的形式傳遞屬性.@RequestMapping(value = "/message/inner", method = RequestMethod.GET)public String inner(HttpServletRequest request, Model model) { model.addAttribute("url", "www.baidu.cn"); return "message/message_show_inner";}其中model傳遞的本質就屬于request屬性范圍.
2、編寫頁面進行內容的顯示:message_show_inner.html<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>SpringBoot模板渲染</title><link rel="icon" type="image/x-icon" href="/images/favicon.ico" /><meta http-equiv="Content-Type" content="text/html;charse=UTF-8">
</head>
<body> <p th:text="'官方網站:' + ${url}"></body>
</html>而后此時也可以使用"*{屬性名稱}"進行訪問:<p th:text="'官方網站:' + *{url}"><p th:text="'用戶名:' + *{requestMessage}">官方網站:www.baidu.cn用戶名:springboot-request
3、修改程序現在傳遞三種屬性范圍:@RequestMapping(value = "/message/inner", method = RequestMethod.GET)public String inner(HttpServletRequest request, Model model) {request.setAttribute("requestMessage", "springboot-request");request.getSession().setAttribute("sessionMessage", "springboot-session");request.getServletContext().setAttribute("applicationMessage","springboot-application");model.addAttribute("url", "www.baidu.cn");request.setAttribute("url2","<span style='color:red'>www.baidu.cn</span>");return "message/message_show_inner";}<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head><title>SpringBoot模板渲染</title><link rel="icon" type="image/x-icon" href="/images/favicon.ico" /><meta http-equiv="Content-Type" content="text/html;charse=UTF-8">
</head>
<body><p th:text="${#httpServletRequest.getRemoteAddr()}"/><p th:text="${#httpServletRequest.getAttribute('requestMessage')}"/><p th:text="${#httpSession.getId()}"/><p th:text="${#httpServletRequest.getServletContext().getRealPath('/')}"/><hr/><p th:text="'sessionMessage = ' + ${sessionMessage}"/><p th:text="'applicationMessage = ' + ${applicationMessage}"/><p th:text="'requestMessage = ' + ${requestMessage}"/><p th:text="'sessionMessage = ' + ${session.sessionMessage}"/><p th:text="'applicationMessage = ' + ${application.applicationMessage}"/>
</body>
</html>
4、而后在頁面之中如果想要訪問不同屬性范圍中的內容,則可以采用如下的做法完成:<p th:text="'requestMessage = ' + ${requestMessage}"/><p th:text="'sessionMessage = ' + ${session.sessionMessage}"/><p th:text="'applicationMessage = ' + ${application.applicationMessage}"/>thymeleaf 考慮到了實際的開發情況,因為 request 傳遞屬性是最為常用的,但是 session 也有可能
使用,例如:用戶登錄之后需要顯示用戶 id,那么就一定要使用到 session,所以現在必須增加屬性范圍的
形式后才能夠正常使用。在 thymeleaf 里面也支持有 JSP 內置對象的獲取操作,不過一般很少這樣使用。<p th:text="${#httpServletRequest.getRemoteAddr()}"/><p th:text="${#httpServletRequest.getAttribute('requestMessage')}"/><p th:text="${#httpSession.getId()}"/><p th:text="${#httpServletRequest.getServletContext().getRealPath('/')}"/>現在會將所有可能顯示出的內容全部重新做了一個模板的重新的改寫.
?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的SpringBoot 处理内置对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot 路径处理
- 下一篇: SpringBoot 对象输出