以下是完整攻略:
1. SpringMVC 使用 jsp:include 嵌入页面的两种方法
在 SpringMVC 中,我们可以通过 jsp:include
标签来嵌入页面,它可以将另一个页面插入到当前页面中。这在网站开发中非常常见,比如在页面的 header 或 footer 中嵌入其他页面的内容。下面将介绍两种最常用的方法。
1.1 方法一:使用 jsp:include 标签
我们可以在 jsp 页面中使用 jsp:include
标签来嵌入页面,示例代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>测试页面</title>
</head>
<body>
<jsp:include page="include.jsp"/>
</body>
</html>
在上面的代码中,我们通过 jsp:include
标签来嵌入 include.jsp
页面,可以将 include.jsp
页面中的内容嵌入到当前页面的 <body>
标签中。
1.2 方法二:使用 SpringMVC 的 ViewResolver
另一种常用的方法是使用 SpringMVC 的 ViewResolver。我们可以配置一个 ViewResolver,将其他页面的内容嵌入到当前页面中。示例代码如下:
@Configuration
@EnableWebMvc
public class AppConfig implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
在上面的代码中,我们配置了一个 ViewResolver,并设置了其前缀和后缀,使它能够正确地解析其他页面的路径。然后可以在 jsp 页面中使用 jsp:include
标签来嵌入其他页面的内容,示例代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>测试页面</title>
</head>
<body>
<jsp:include page="/header"/>
Welcome to my website!
<jsp:include page="/footer"/>
</body>
</html>
在上面的代码中,我们使用了 ViewResolver 来解析页面的路径,并在页面中通过 jsp:include
标签来嵌入其他页面的 header 和 footer。
2. 示例说明
下面是两个示例,演示了如何在 SpringMVC 中使用 jsp:include 嵌入页面:
2.1 示例一:使用 jsp:include 标签嵌入页面
在示例中,我们先创建一个名为 index.jsp
的页面,然后在页面中使用 jsp:include
标签来嵌入 header.jsp
和 footer.jsp
页面中的内容。
index.jsp 页面代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Welcome to my website!</title>
</head>
<body>
<jsp:include page="header.jsp"/>
<main>
<h1>Welcome to my website!</h1>
<p>Here is some content.</p>
</main>
<jsp:include page="footer.jsp"/>
</body>
</html>
header.jsp 页面代码如下:
<div class="header">
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
footer.jsp 页面代码如下:
<div class="footer">
<p>Copyright © 2021.
All Rights Reserved.
</p>
</div>
现在我们启动项目,在浏览器中访问 http://localhost:8080/index
,就可以看到嵌入了 header.jsp
和 footer.jsp
页面的 index.jsp 页面。
2.2 示例二:使用 SpringMVC 的 ViewResolver 嵌入页面
在示例中,我们先创建一个名为 index.jsp
的页面,然后在页面中使用 jsp:include
标签来嵌入其他页面的内容。
为了使用 ViewResolver,我们需要在 SpringMVC 的配置文件中进行配置。假设我们的配置文件名为 spring-mvc.xml
,则代码如下:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<mvc:annotation-driven/>
<mvc:view-controller path="/" view-name="index"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
在上面的代码中,我们配置了一个名为 InternalResourceViewResolver
的 ViewResolver。在这个 ViewResolver 中,我们设置了前缀为 /WEB-INF/views/
,后缀为 .jsp
,这表示我们的 jsp 页面放在该目录下。
然后,我们创建一个名为 header.jsp
的文件,该文件的代码如下:
<div class="header">
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
然后创建一个名为 footer.jsp
的文件,该文件的代码如下:
<div class="footer">
<p>Copyright © 2021.
All Rights Reserved.
</p>
</div>
现在,我们可以在 index.jsp
页面中使用 jsp:include
标签来嵌入这两个页面的内容,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Welcome to my website!</title>
</head>
<body>
<jsp:include page="/header"/>
<main>
<h1>Welcome to my website!</h1>
<p>Here is some content.</p>
</main>
<jsp:include page="/footer"/>
</body>
</html>
现在我们启动项目,在浏览器中访问 http://localhost:8080
,就可以看到嵌入了 header.jsp
和 footer.jsp
页面的 index.jsp 页面。
以上就是完整的 SpringMVC 使用 jsp:include 嵌入页面的两种方法攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springMVC使用jsp:include嵌入页面的两种方法(推荐) - Python技术站