Java web | 登陆后,隐藏登陆按钮并显示用户名


由于自己的主页是采用jsp来实现动态页面,在网上也找不到什么好方法,所以就根据自己学的来琢磨琢磨来实现想要的 登陆后隐藏登陆按钮 等操作。
在实现代码之前,需要了解JSTL的一些概念。

JSTL的概念

从JSP1.1规范开始,JSP就支持使用自定义标签,这不仅可以大大降低JSP页面的复杂度,还增强了代码的重用性。但是同一功能的标签由不同的Web应用厂制定可能是不同的,这就导致市面上出现了很多功能相同的标签,让网页制作者无从选择。所以为了解决问题,Sun公司就制定了一套标准标签库JSTL
它由5个不同功能的标签库共同组成,分别是:

  • Core(核心标签库)
  • I18N(国际化/格式化标签库)
  • SQL(数据库标签库)
  • XML(操作XML文档的标签库)
  • Functions(函数标签库)

注意:使用不同标签时需要在JSP中引入不同的库

我们这里使用到的是核心标签库Core的内容,如果对其他标签库感兴趣的话可以自行搜索,太啰嗦也不是我的风格。|ω・)

我们要用到的里面的<c:if>标签,它有3个属性,具体如下:

属性描述是否必要默认值
test条件
var用于存储条件结果的变量
scopevar属性的作用域page

如果想要了解更多相关标签的话可以看下面这位老哥的文章。
https://blog.csdn.net/weixin_42078450/article/details/86764362

代码步骤

  1. 在Web应用的WEB-INF/lib目录下导入JSTL的jstl.jar和standard.jar

要使用前,需要使用taglib指令导入Core标签库,具体代码如下。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  1. 在jsp页面选择自己想要的位置插入
                <c:if test="${user.username!=null}">
                    <li class="menuout"><a href="personal"><b>${user.username}</b></a></li>
                </c:if>

				<%--检测用户名是否存在--%>
                <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);

效果图

登陆前
在这里插入图片描述

登陆后
在这里插入图片描述

总结

与其盲目搜方法,还不如在实现之前理清思路,清楚自己想要的功能,了解方法定义直到弄懂,再来尝试,可能会有不一样的感觉和收获哦。
开始写博客也是为了通过分享,让自己掌握的更加巩固。
如果有什么不足或者改进之处还请大佬指出。

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ztop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值