JSP基础语法
在Java语法的基础上稍微扩充,基本与Java一致
JSP表达式
<%--JSP表达式
用来将程序的输出,写到客户端
<%= 变量或者表达式%>
--%>
<%= new java.util.Date()%>
<%= new String("你好")%>
访问测试:
JSP脚本片段
<%--jsp脚本片段--%>
<%
int sum=0;
for (int i = 0; i < 10; i++) {
sum+=i;
}
out.print("<h1>sum="+sum+"</h1>");
%>
访问测试:
所有代码是一个整体
<%
int x=10;
out.print(x);
%>
<p>-----------------------------------</p>
<%
int y =2;
out.print(y);
out.print("<br>");
out.print(x);
%>
** 访问测试**
可以在java代码中嵌套HTML代码
<%--在脚本中嵌套HTML代码--%>
<%
for (int i = 0; i < 5; i++) {
%>
<h1>Hello,world!</h1>
<%
}
%>
访问测试
从这里可以看出JSP代码虽然很灵活自由,但是写的长了会十分的混乱不易于维护
JSP声明 (定义全局变量或方法)
<%!
static {
System.out.println("loading servlet");
}
private int age=1;
public void print(){
System.out.println(age);
}
%>
通过观察源码可以发现,这些代码被声明在类下,而之前的脚本被声明在类下的方法中
JSP指令
1
<%@page... %>
代码示例:
instructions.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page errorPage="error/500.jsp" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
//网页会返回500错误
int x=1;
System.out.println(1/0);
%>
</body>
</html>
500.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<img src="${pageContext.request.contextPath}/image/500.png" alt="">
</body>
</html>
测试访问
2
<%@ include file="common/header.jsp"%>
代码示例:
header.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<h1>这里是header</h1>
footer.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<h1>这里是footer</h1>
demo01.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--会将页面中的内容转换为java语言响应到服务器--%>
<%@ include file="common/header.jsp"%>
<h1>网页主体</h1>
<%@ include file="common/footer.jsp"%>
<hr>
<%-->拼接页面(一般用这个)--%>
<jsp:include page="common/header.jsp"></jsp:include>
<h1>网页主体</h1>
<jsp:include page="common/footer.jsp"></jsp:include>
</body>
</html>
测试访问: