SSM+LayUI实现登录状态动态切换导航栏

作者:键盘侠

时间:2026-10-23

浏览:598

本文介绍了在SSM框架与LayUI前端库结合的项目中,如何根据用户登录状态动态切换导航栏显示内容。通过JSP页面嵌入Java代码判断会话状态,实现未登录时显示登录入口,登录后显示用户信息及注销功能,并展示了具体的HTML与Java交互实现。

文章目录

SSM+LayUI登录状态动态导航实现

近期在基于SSM框架与LayUI组件库开发个人项目的过程中,遇到了需要根据用户登录状态展示不同页面内容的实际需求。在此分享具体的实现思路与代码,如有疏漏之处,欢迎批评指正。

在详细介绍实现细节之前,先展示最终的运行效果。

当用户尚未登录时,导航栏对应位置显示为“登录”链接。

SSM+LayUI登录状态动态导航实现

系统提供的标准登录界面如下图所示。

SSM+LayUI登录状态动态导航实现

用户成功登录系统后,原导航栏中的“登录”位置信息发生动态变化。

SSM+LayUI登录状态动态导航实现

当鼠标悬停在用户信息区域时,会显示下拉菜单。

SSM+LayUI登录状态动态导航实现

以下是具体的实现代码。核心思路是在JSP页面中嵌入Java代码片段,通过判断用户会话状态来决定渲染登录链接还是用户信息菜单。若存在更优的实现方案,欢迎在评论区留言交流。


<ul class="layui-nav" lay-filter="">
  <li class="layui-nav-item layui-this"><a href="/why123/user/saveUser" rel="external nofollow" style="font-size:20px;">首页</a></li>
  <li class="layui-nav-item "><a href="/why123/news/forwardNews" rel="external nofollow" style="font-size:20px;">新闻</a></li>
  <li class="layui-nav-item "><a href="#" rel="external nofollow" rel="external nofollow" style="font-size:20px;">家庭活动</a></li>
  <li class="layui-nav-item ">
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" style="font-size:20px;">家庭相册</a>
  <dl class="layui-nav-child"> <!-- 二级菜单 -->
   <dd><a href="" style=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" font-size:15px;">个人相册</a></dd>
   <dd><a href="" style=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" font-size:15px;">他人相册</a></dd>
   <dd><a href="" style=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" font-size:15px;">热门相册</a></dd>
  </dl>
 </li> 
 <li class="layui-nav-item"><a href="#" rel="external nofollow" rel="external nofollow" style="font-size:20px;">意见反馈</a></li>
 <li class="nav-user">
 <% String userName=(String)session.getAttribute("userName");
 if(userName==null){ %>
 <div>
 <a href="/why123/login/userLogin" rel="external nofollow" class="nav-denglu">登录</a>
 </div>
 <%}else{%>
 <div class="user-msg">
  <ul class="layui-nav nav-userlogin">
  <li class="layui-nav-item">
  <a href="" style=" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" font-size:18px;"><img src="plug-in/images/people/renwu.jpg" class="layui-nav-img" style="width:40px;height:40px;">${sessionScope.userName}</a>
  <dl class="layui-nav-child">
   <dd><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" style="font-size:18px;">修改信息</a></dd>
   <dd><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" style="font-size:18px;">个人管理</a></dd>
   <dd><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" style="font-size:18px;">注销</a></dd>
  </dl>
  </li>
   </ul>
 </div>
 <%} %>
 </li>
 </ul>

以上就是关于SSM结合LayUI根据登录状态动态显示页面内容的完整分享,希望能为遇到类似问题的开发者提供参考。欢迎大家支持本站,如有问题请留言讨论。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章