我想要實現的是類似於asp.net中的母版頁。我正在關注tutorial,但是我可能錯過了某些東西,因爲我已經將我的header.jspf和footer.jspf添加到WEB-INF/jspf文件夾,並且index.jsp位於WEB-INF之外。我在web.xml中添加了信息,以便某些jsp頁面應該自動添加頁眉和頁腳。問題可能是index.jsp無法訪問WEB-INF文件夾內的任何內容,但我認爲我已經在教程的前一步中解決了這個問題。當我運行該項目時,我得到的是index.jsp剩下的所有頁眉和頁腳內容。我不想使用:<%@include file="header.jspf" %>
和<..jsp:include...>
。是否可以在不使用jsp:include?的情況下將jspf文件添加到jsp頁面?
截圖:
的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<jsp-config>
<jsp-property-group>
<description>header and footer settings</description>
<url-pattern>/index.jsp</url-pattern>
<url-pattern>/WEB-INF/view/*</url-pattern>
<include-prelude>/WEB-INF/jspf/header.jspf</include-prelude>
<include-coda>/WEB-INF/jspf/footer.jspf</include-coda>
</jsp-property-group>
</jsp-config>
</web-app>
header.jspf中:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Webshop</title>
</head>
<body>
<h1>Webshop</h1>
footer.jspf:
</body>
</html>
爲什麼你不想使用<%@ include文件=「標頭.jspf「%>和<.. jsp:include ...> ?? ?? – Javaguru
好吧,這不是什麼大問題,我只是想要一種方法,不必爲每個jsp添加相同的內容,但是添加到每個jsp的兩行不成問題。我只想知道是否有方法通過web.xml文件添加頁眉和頁腳。 –
所以..你可以使用SiteMesh。您可以創建一個模板頁面,用於項目中的每個頁面,然後只有特定的網站內容位於實際的jsp網站中。 – Javaguru