继昨天的code review后,想尝试前端页面的include标签,之前一直是使用jquery.load(),但基于js的加载会存在网络延迟,若网络延迟很大,则用户体验会非常差。
之前的写法:
<script type="text/javascript">
var a=1;
if(a==1){
$("body").load("../test/toVideoMain");
}else{
$("body").load("../user/toLogin");
}
</script>
改进之后的写法:根据model传过来的值进行判断,include哪一个页面
<c:choose>
<c:when test="${from==1}">
<%@include file="/WEB-INF/views/VideoMain.jsp" %>
</c:when>
<c:otherwise>
<%@include file="/WEB-INF/views/login.jsp" %>
</c:otherwise>
</c:choose>
至此已经成功完成include页面加载。
附上SSM加入Jstl的配置:
1.pom.xml中增加
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
或
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
</exclusion>
</exclusions>
</dependency>
2.
将Maven Dependencies下的jstl文件copy到WEB-INF下,并添加至Java Build Path中
(最关键的一步,今天就是因为没做这一步,一直报500错,一早上都没有找到原因)
3.页头添加
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
就可以使用了