在我的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页面时,标签中的标题会保留“标题网站”而不是“请保留您的位置”。
到底出了什么问题?
答案 0 :(得分:2)
您已在header.jsp
中声明<title>Title Website</title>
因此,标题显示标题网站
根据文档,当调用include或forward元素时,原始请求对象将提供给目标页面。如果您希望向该页面提供其他数据,可以使用jsp:param元素将参数附加到请求对象:
<jsp:include page="..." >
<jsp:param name="title" value="Please reserve your place"/>
</jsp:include>
您在页面中为title
元素添加了参数include
。这就是全部。与名为title
和HTML
标记<title>
的参数无关。他们完全不同,他们有自己的目的。要在header.jsp的标题中设置param值,您需要将其更改为
<title><%= request.getParameter("title") %></title>
因此,在页面创建期间,标题请求参数的值将在标题标记中设置
答案 1 :(得分:1)
找到它,它是
<title><%= request.getParameter("title") %></title>
而不是
<title>Title Website</title>