前言
本章学习JSP指令的相关知识
方法
1.概念
通过前面的介绍,相信大家已经清楚的知道了JSP的原理,那么其中的HTML等前端知识我们以前怎么写还是怎么写,这里主要讲解的是JSP相关的知识介绍。
大家之前看到的JSP页面是这样的,我们主要是讲解<%%>包围的东东,它是JSP独有的语法!
<%--
Created by IntelliJ IDEA.
User: jwang
Date: 2018/11/22
Time: 21:31
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
My First JSP Page
</body>
</html>
2.page指令
在讲这个指令之前呢。我还是要强调一下注释的概念!在JSP中我们可以写前端语言(HTML,CSS,JS),也可以写Java代码。那么也就是说,在一个JSP中可能会包含多种不同的注释,当然这是可以的。
JSP为我们专门提供了注释的语法,以便让我们更好的统一多种语言的注释问题。
语法:<%-- 注释内容 --%>:该语句用来在JSP中编写注释
实例:上面的程序代码中已经有所体现了,这里不赘述。
言归正传,我们来讲一下JSP的page指令的相关概念:
语法:<%@page 属性名=属性值 属性名=属性值 属性名=属性值 .....%>
作用:见名知意,它是用来描述整个JSP文件的,配置了JSP文件转译的相关参数。其中
- language:该属性用来表示JSP将要转译的语言,目前有且只有Java
- import:声明转译的Java文件需要导入的类
- pageEncoding:声明当前JSP文件保存的格式
- contentType:设置JSP数据响应给浏览器时,浏览器的解析的编码格式
- session:设置转译的servlet是否开启session支持,默认是true,也就是开启状态
- errorPage:设置JSP运行错误跳转的页面
特别的:page指令可以写多个
3.Scriptlet
我们知道,在JSP中可以写Java代码,转译servlet的时候直接原封不动的传递过去。
这些Java代码都是编写在Scriptlet中的,Scriptlet称为脚本小程序,所有嵌套在HTML代码中的Java程序都必须使用Scriptlet标记出来。
三种Scriptlet:
1)局部代码块
语法:<% Java语句 %>
实例:使用局部代码块嵌入Java if else语句
<%@ page pageEncoding="utf-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
int a = 6;
if(a == 6){
%>
<b>a等于6</b>
<%
}else{
%>
<b>a不等于6</b>
<%
}
%>
</body>
</html>
特别的:在JSP中写Java代码逻辑真的很烦躁
2)全局代码块
语法:<%! Java代码 %>
作用:用来声明转译servlet之后的全局变量和方法等
实例:在JSP中声明全局变量
<%@ page pageEncoding="utf-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%!
int a = 6;
%>
<%
if(a == 6){
%>
<b>a等于6</b>
<%
}else{
%>
<b>a不等于6</b>
<%
}
%>
</body>
</html>
特别的:没有人这么用JSP
3)脚本段语句
语法:<%=Java变量名称%>
实例:输出全局变量a
作用:用来输出Java代码的变量值在页面进行展示
<%@ page pageEncoding="utf-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%!
int a = 6;
%>
<%=a%>
</body>
</html>
以上就是java代码在JSP中存在的三种形式!但是用的不多,知道就行!
我们要始终秉承这样一个理念:
Servlet进行逻辑处理,JSP进行页面展示
也就是说,JSP页面尽量不要掺杂多余的Java代码,其应该是用来进行页面展示的,逻辑处理可以交给Servlet去处理