Java web | 登陸後,隱藏登陸按鈕並顯示使用者名稱
阿新 • • 發佈:2021-01-07
目錄
由於自己的主頁是採用jsp來實現動態頁面,在網上也找不到什麼好方法,所以就根據自己學的來琢磨琢磨來實現想要的 登陸後隱藏登陸按鈕 等操作。
在實現程式碼之前,需要了解JSTL的一些概念。
JSTL的概念
從JSP1.1規範開始,JSP就支援使用自定義標籤,這不僅可以大大降低JSP頁面的複雜度,還增強了程式碼的重用性。但是同一功能的標籤由不同的Web應用廠制定可能是不同的,這就導致市面上出現了很多功能相同的標籤,讓網頁製作者無從選擇。所以為了解決問題,Sun公司就制定了一套標準標籤庫JSTL。
- Core(核心標籤庫)
- I18N(國際化/格式化標籤庫)
- SQL(資料庫標籤庫)
- XML(操作XML文件的標籤庫)
- Functions(函式標籤庫)
注意:使用不同標籤時需要在JSP中引入不同的庫
我們這裡使用到的是核心標籤庫Core的內容,如果對其他標籤庫感興趣的話可以自行搜尋,太囉嗦也不是我的風格。|ω・)
我們要用到的裡面的<c:if>標籤,它有3個屬性,具體如下:
屬性 | 描述 | 是否必要 | 預設值 |
---|---|---|---|
test | 條件 | 是 | 無 |
var | 用於儲存條件結果的變數 | 否 | 無 |
scope | var屬性的作用域 | 否 | page |
如果想要了解更多相關標籤的話可以看下面這位老哥的文章。
https://blog.csdn.net/weixin_42078450/article/details/86764362
程式碼步驟
- 在Web應用的WEB-INF/lib目錄下匯入JSTL的jstl.jar和standard.jar。
要使用前,需要使用taglib指令匯入Core標籤庫,具體程式碼如下。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- 在jsp頁面選擇自己想要的位置插入
<li class="menuout"><a href="personal"><b>${user.username}</ b></a></li>
<%--檢測使用者名稱是否存在--%>
<c:if test="${user.username==null}">
<li class="menuout"><a href="login.html"><b>登入</b></a></li>
</c:if>
<li class="menuout"><a href="editor.html"><b>發表</b></a></li>
<li class="menuout100"> <a href="contact.jsp"><b>聯絡我們</b></a></li>
<li class="menuout"><a href="logout"><b>登出</b></a></li>
但是在這之前,別忘了在Servlet裡將user返回值儲存到session當前會話。
request.getSession().setAttribute("user",user);
效果圖
登陸前
登陸後
總結
與其盲目搜方法,還不如在實現之前理清思路,清楚自己想要的功能,瞭解方法定義直到弄懂,再來嘗試,可能會有不一樣的感覺和收穫哦。
開始寫部落格也是為了通過分享,讓自己掌握的更加鞏固。
如果有什麼不足或者改進之處還請大佬指出。