【问题标题】:Highlighting selected tab in nav header, JSP突出显示导航标题中的选定选项卡,JSP
【发布时间】:2018-12-23 09:22:26
【问题描述】:

第一次使用 JSP 构建 Web 应用程序,并尝试制作一个导航标题以跨越我的所有页面,并突出显示当前页面。

我的理解是,在我的页面之间共享这样的标题的方法是在我的每个 JSP 文件的顶部使用 JSP 包含标记来包含像 header.jsp 这样的文件,其中包含我的标题标记。

但是,我不确定如何将条件样式应用于标题,以便每个 URL 仅突出显示活动选项卡。我对如何在 JavaScript 中实现这一点有一个想法,但我的直觉是,在响应之前完成这一点会更干净。

到目前为止,我的任何假设是否都站不住脚?

如果不是,那么 JSP 方法是什么来实现有条件地将样式应用于 html 元素的目标?

感谢您提供任何信息!

【问题讨论】:

  • 如果您提供一些您自己的代码示例会很有帮助。

标签: jsp jsp-tags jspinclude


【解决方案1】:

忘记包含..更好的是创建一个html标签。只需为标签创建一个 jsp 文件,将其命名为 header.jsp 并设计您的菜单选项卡:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sp" uri="http://www.springframework.org/tags"%>
<%@ attribute name="selectedTab" required="true" rtexprvalue="true" type="java.lang.String"%>

<ul>
<li <c:if test="${selectedTab eq 'tab1'}">class="selectedClass"</c:if>>Tab 1 </li>
<li <c:if test="${selectedTab eq 'tab2'}">class="selectedClass"</c:if>>Tab 2 </li>
</ul>

然后在您的所有页面中使用:

<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="h" tagdir="/WEB-INF/tags/html"%>

<h:header selectedTab="${selectedTab}" />

假设您的标签位于/WEB-INF/tags/html 文件夹中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多