常用语法

以下所有代码都是在<body>标签中写的:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>

</body>
</html>

jsp表达式语法

<%--
jsp表达式语法: <%= 变量或表达式%>
--%>
<%=new java.util.Date() %>

jsp应用_jsp页面

脚本片段

<%
int[] sun = {1,2,3};
for(int item: sun) {
out.print("<h1>"+item+"</h1>");
}
%>

jsp应用_jsp页面_02

脚本片段的实现

<%
int n = 1;
%>
<p>------------</p>
<%
out.print(n);
%>

jsp应用_java_03

在代码中嵌入html标签

<%
for(int item : sun) {
%>
<h3><%= item%></h3>
<%
}
%>

jsp应用_jsp页面_04

jsp声明(定义全局方法、变量)- 最后编译它会被放到类下边,除了jsp声明,其他的都被放到

_jspService 方法里边

<body>
<%--全局方法, jsp声明的方法、变量等等都会放到类的下边,而不会放到方法中去--%>
<%!
public String getString(String name) {
return name.toLowerCase();
}
%>
<h1><%=getString("lxc")%></h1>
</body>

会存放在类的下边:
jsp应用_jsp页面_05

其他的都会被放到 _jspService方法里边:

jsp应用_html_06

 

常用指令

1、<%@page kay=value %>  可定制页面

<!--index.jsp-->
<!--当index.jsp页面发生错误时,会渲染error下的500.jsp页面-->
<%@page errorPage="error/500.jsp" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<h1><%=1/0%></h1>
</body>
</html>

500.jsp 页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>这是自定义500错误页面!</h1>
</body>
</html>

目录结构如下:

jsp应用_html_07

jsp应用_java_08

这里补充下,想指定某个文件是404或500,也可以在web.xml中去配置:

<!--web.xml-->
<!--
/:代表本应用web目录下
自定404或500页面,这样就不需要在每个jsp页面都指定错误页面了
-->
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/500.jsp</location>
</error-page>

jsp应用_java_09jsp应用_html_10

 

2、<%@page  import="java.util.xxx" %> 导入java某个包

<!--导入java包-->
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@page errorPage="error/500.jsp" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<h1><%=new Date()%></h1>
</body>
</html>

 

3、页面复用

写法一:会将两个页面合为一个页面;写法二:会动态的拼接页面,本质上还是3个页面。

<body>
<!--写法一-->
<%@include file="common/top.jsp"%>
<h3>页面的主体</h3>
<%@include file="common/footer.jsp"%>
<!--写法二 jsp标签语法(推荐使用)-->
<jsp:include page="/common/top.jsp" />
<h3>页面主体</h3>
<jsp:include page="/common/footer.jsp" />
</body>

jsp应用_java_11

 

jps内置对象

编译完的源码中,我们会看到几个jsp对象,在jsp页面中可以直接使用:

jsp应用_jsp页面_12

ctx.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<!--存储数据-->
<%
pageContext.setAttribute("name", "lxc1");
application.setAttribute("name", "lxc2");
request.setAttribute("name", "lxc3");
%>
</head>
<body>