目录
JSP页面是JavaEE Web开发的重要组成部分,其提供了动态生成HTML网页的能力。在本篇博客中,我们将学习JSP页面的基础知识和常用标记的使用方法,以及一些示例代码
2.1 JSP页面的基本结构
在JSP中,所有的代码都写在一个.jsp文件中,并且代码通常包含HTML、Java语句以及标签,所以你需要知道JSP页面的基本结构。以下是JSP页面的基本结构:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
jsp页面内容...
</body>
</html>
其中,<%@ page %>是用来定义JSP页面的属性,比如使用的脚本语言、文档类型等等。<!DOCTYPE>是用来指定文档类型,和则是用来定义网页的头部。在里面,你可以将JSP代码与HTML标签一起使用以生成网页内容。
2.2 声明变量和定义方法
在JSP中,您可以使用Java语法声明变量和定义新的方法。例如,您可以在<% %>块内声明一个整数变量并初始化它,如下所示:
<%
int num = 10;
%>
这将创建一个int类型的num变量,它的值为10。您还可以在JSP页面中定义新的方法,例如,您可以在<% %>块中定义以下方法:
<%
public String greet(String name) {
return "Hello, " + name + "!";
}
%>
这样定义之后,您可以在JSP页面中使用这个方法生成动态内容。
2.3 Java程序片
Java程序片是指在<% %>块内的Java代码段。您可以在这些块内创建和调用Java对象、调用方法,以及执行各种其他操作。例如:
<%
// 创建一个字符串
String str = "JavaEE";
// 调用greet方法
String result = greet("Red");
// 输出结果
out.println("str: " + str);
out.println("result: " + result);
%>
2.4 Java表达式
Java表达式是产生并输出值的Java代码片段。与Java程序代码块不同的是,表达式不需要使用分号结束语句,且它们只能出现在HTML代码块或其它Java程序片中。例如:
<!-- 表达式 -->
<p>1+1=<%= 1+1 %></p>
<%-- Java程序片 --%>
<%
int a = 5;
int b = 10;
%>
<!-- 在HTML代码块中使用变量输出结果 -->
<p><%= a+b %></p>
2.5 JSP的注释
JSP中有两种注释方式。第一种是常规注释,使用<%-- … --%>标记,如:
<%--
这是一个注释
--%>
第二种是XML风格的注释,使用 标记,如:
<!-- 这是另一个注释 -->
2.6 JSP指令标记
JSP指令标记是起控制作用的特殊标记。根据其位置和功能,可以分为page、include等几种类型。
2.6.1 page指令标记
page指令可用于定义各种参数,例如导入库、设置媒体类型、设置缓存时间等。常见的参数有:
<%@ page language="java" %> // 指定当前页面使用的语言
<%@ page contentType="text/html; charset=UTF-8" %> // 指定编码格式
<%@ page import="java.util.*" %> //导入包
<%@ page errorPage="/error.jsp" %> // 定义页面错误时的跳转地址
<%@ page isThreadSafe="false" %> // 确定页面线程安全性,缺省值为true
<%@ page buffer="none" %> // 禁止页面出现缓冲
<%@ page session="false" %> // 禁止使用session
<%@ page isELIgnored="true" %> // 不能使用表达式语言,默认情况下为false,即启用表达式语言
2.6.2 include指令标记
include指令标记用于包含其他的JSP文件或者静态文件。例如:
<%@ include file="header.jspf" %>
在上述代码中,我们将header.jspf文件包含在当前页面中。注意,这里的文件名可以带有路径。
2.7 JSP动作标记
除了JSP指令标记以外,JSP还包含一些占位符,被称为动作标记,它们被用于包含其他的内容和执行其他的任务。动作标记可以执行各种操作,如包含JSP页面、设置属性和转发请求。下面是常见的几种操作标记。
2.7.1 include动作标记
include动作标记与include指令标记非常相似,但是它使用了XML风格的语法<jsp:include …>。使用include动作标记,你可以在页面中包含其他JSP文件或Servlet等。例如:
<jsp:include page="header.jspf" />
在上面的代码段中,我们将header.jspf文件包含在当前页面之中。
2.7.2 param动作标记
param动作标记常常与include动作标签一起使用,用于传递参数。例如:
<jsp:include page="header.jspf">
<jsp:param name="param1" value="value1"/>
</jsp:include>
在上述代码中,我们向 header.jspf 文件传递了一个名为“ param1 ”的参数,其值为“ value1 ”。
2.7.3 forward动作标记
forward动作标记可用于转发请求至其他JSP页面或Servlet等。它使用了XML风格的语法<jsp:forward …>。例如:
<jsp:forward page="/examplePage.jsp">
<jsp:param name="param1" value="value1"/>
</jsp:forward>
在上述代码中,我们使用forward动作标记将请求转发至/examplePage.jsp页面,并且向该页面传递了一个名为“param1”的参数,其值为“value1”。
2.7.4 useBean动作标记
useBean动作标记用于实例化一个JavaBean,以便在JSP页面中使用。例如:
<jsp:useBean id="myBean" class="com.example.MyBean" />
<%
myBean.setName("Tom");
out.println(myBean.getName());
%>
在上述代码中,我们实例化了一个类为“com.example.MyBean”的JavaBean,并且将其存储在“myBean”变量之中。
总结
本文介绍了有关JSP页面的基本结构、声明变量和定义方法、Java程序片段、Java表达式、JSP注释、JSP指令标记以及JSP动作标记等知识点。通过学习这些基础知识,我们可以更加深入地了解JSP的工作原理,从而能够开发出更加完善的Java Web应用程序。