JSP 元标题属性不起作用

问题描述 投票:0回答:2

在我的 header.jsp 中,我有以下代码:

<head>
    <meta name="description" content="<%= request.getParameter("description") %>" />
    <meta property="og:description" content="<%= request.getParameter("description") %>" />
    <meta property="og:title" content="<%= request.getParameter("title") %>" />
    <meta property="og:type" content="website" />
    <title>Title Website</title>
</head>

<body>
<div id="nav">navigation menu</div>
</body>

在我的页面“Reservation.jsp”上,我有以下代码:

<jsp:include page="includes/header.jsp">
    <jsp:param name="reservation" value="current" />
    <jsp:param name="description" value="Please reserve your place" />
    <jsp:param name="title" value="Please reserve your place" />
</jsp:include>

<div id="content">
content
</div>

<jsp:include page="includes/footer.jsp">
</jsp:include>

当我在浏览器中打开reservation.jsp页面时,选项卡中的标题仍然是“标题网站”而不是“请预订位置”。

到底出了什么问题?

jsp meta-tags page-title
2个回答
2
投票

您已在 header.jsp 中声明了

<title>Title Website</title>

所以,标题显示标题网站

根据文档,当调用包含或转发元素时,原始请求对象将提供给目标页面。如果您希望向该页面提供附加数据,可以使用 jsp:param 元素将参数附加到请求对象:

<jsp:include page="..." >
    <jsp:param name="title" value="Please reserve your place"/>
</jsp:include>

您已为页面中的

title
元素添加了参数
include
。就这样。与名为
title
的参数和
HTML
标签
<title>
没有关系。他们完全不同,并且有自己的目的。为了设置 header.jsp 标题中的参数值,您需要像这样进行更改

<title><%= request.getParameter("title") %></title>

因此,标题请求参数的值将在页面创建期间在标题标签中设置


1
投票

找到了,是的

<title><%= request.getParameter("title") %></title>

而不是

<title>Title Website</title>
© www.soinside.com 2019 - 2024. All rights reserved.