JSP 结构


JSP是Java Server Pages的缩写,是一种基于Java的动态网页开发技术。它使用Java来处理Web服务器上的网页,因此可以实现动态内容、交互式页面、表单验证等功能。

JSP结构分为三个部分:指令部分、Java代码、HTML代码。 指令部分以 “<%@ “开头,以 “%>“结尾,主要用于定义JSP页面的属性和导入java类库,常用的有page、include、taglib等指令。 Java代码是纯Java语言代码,以” <% “开头,以 " %> “结尾,中间的代码将会被JSP引擎翻译成Servlet的代码来执行。所有合法的Java代码都可以加入到这里,包括变量、对象、方法以及各种控制语句。 HTML代码是普通的HTML标记,用于界面的展示和样式的设置,但也可以嵌入JSP动态标记。HTML代码不需要特殊标记,只需要直接编写即可。

在JSP页面的结构中,三个部分可以通过不同的方式进行组合,以实现不同的功能需求。以下是常见的几种组合方式:

  1. JSP页面只包含HTML代码,没有Java代码和指令,一般用于静态内容展示。
<!doctype html>
<html>
<head>
<title>My First JSP Page</title>
</head>
<body>
<p>Welcome to my JSP page!</p>
</body>
</html>
  1. JSP页面包含指令和HTML代码,没有Java代码,一般用于导入类库或者需要使用JSP标记库。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<!doctype html>
<html>
<head>
<title>My First JSP Page</title>
</head>
<body>
<jsp:include page="header.jsp" />
<p>Welcome to my JSP page!</p>
<jsp:include page="footer.jsp" />
</body>
</html>
  1. JSP页面包含Java代码和HTML代码,没有指令,一般用于添加动态内容。
<!doctype html>
<html>
<head>
<title>My First JSP Page</title>
</head>
<body>
<% String name = request.getParameter("name");
	if (name != null) { %>
		<p>Welcome <%= name %>!</p>
	<% } else { %>
		<p>Welcome to my JSP page!</p>
	<% } %>
</body>
</html>
  1. JSP页面组合Java代码、HTML代码和指令,一般用于实现复杂的动态页面。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<!doctype html>
<html>
<head>
<title>My First JSP Page</title>
</head>
<body>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:include page="header.jsp" />
<c:forEach items="${products}" var="product">
	<p>${product.name} - ${product.price}</p>
</c:forEach>
<jsp:include page="footer.jsp" />
</body>
</html>

总之,JSP结构的组合方式多种多样,可以根据开发者的需求自由组合,以实现不同的动态网页功能。