要保持DRY,我有一个简单的标题摘要,如下所示:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="${pageContext.request.contextPath}/assets/js/jquery.js"></script>
<title>Insert title here</title>
</head>
<body>
它包含我想要在每个页面顶部的基本HTML标题。然后,对于我创建的每个JSP页面,我只使用<%@ include file="_header.jsp" %>
包含它,它使我的代码保持良好和干净。
然而,这意味着我的每一个页面都具有相同的<title>
属性。有没有办法将变量传递给_header.jsp
文件并以这种方式更新标题?我知道您可以在使用<jsp:forward>
操作时传递变量,但我需要使用<%@ include %>
,以便显示页面的其余部分。
我还可以使用每个自定义页面底部的以下JavaScript更新标题:
<script>
document.title = "This is the new page title.";
</script>
但我认为这是更好的方法。
答案 0 :(得分:1)
尝试使用支持参数传递的<jsp:include page="_header.jsp" >
<jsp:param name="title" value="This is the page title"/>
</jsp:include>
指令。
<title>${param.title}</title>
然后在头文件JSP中,按如下方式读取参数:
for