学习 Servlet 与老年人评估系统的业务逻辑04
- JSP 基本语法和使用方法
1.1 JSP 简介
JSP(JavaServer Pages)是一种动态网页技术标准,它允许在 HTML 页面中嵌入 Java 代码,使得开发者可以方便地生成动态内容。JSP 页面在服务器端被编译成 Servlet,然后由 Servlet 容器执行并生成 HTML 响应返回给客户端。
1.2 JSP 基本语法
1.2.1 JSP 指令
JSP 指令用于为 JSP 引擎提供全局信息,常见的指令有 page、include 和 taglib。
page 指令:用于定义 JSP 页面的各种属性,如页面编码、导入的包等。
include 指令:用于在 JSP 页面中包含另一个文件的内容。
taglib 指令:用于引入自定义标签库。
1.2.2 JSP 脚本元素
JSP 脚本元素用于在 JSP 页面中嵌入 Java 代码,常见的脚本元素有 <% %>、<%! %> 和 <%= %>。
<% %>:用于包含 Java 代码块。
<%! %>:用于声明全局变量和方法。
<%= %>:用于输出表达式的值。
1.2.3 JSP 动作元素
JSP 动作元素是一种特殊的标签,用于执行特定的任务,如转发请求、包含文件等。常见的动作元素有 jsp:forward、jsp:include 等。
jsp:forward:用于将请求转发到另一个页面。
jsp:include:用于动态包含另一个页面的内容。
1.3 在 JSP 页面中显示数据
在 JSP 页面中,可以通过以下几种方式显示数据:
使用 <%= %> 表达式:直接输出表达式的值。
使用 EL 表达式:EL(Expression Language)表达式用于简化 JSP 页面中数据的访问,通常用于访问请求、会话等范围内的属性。
使用 JSTL 标签库:JSTL(JavaServer Pages Standard Tag Library)是一组标准的 JSP 标签库,提供了丰富的功能,如条件判断、循环等。 - 结合 checkplan 类编写简单的 JSP 页面显示数据库数据
2.1 checkplan 类回顾
假设 checkplan 类是一个 Servlet,用于处理客户端请求,从数据库中查询计划信息,并将查询结果存储在请求属性中,然后转发到 JSP 页面。
`import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/checkplan")
public class checkplan extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String planId = request.getParameter("planId");
if (planId != null && !planId.isEmpty()) {
// 假设这里有一个 PlanDao 类用于数据库操作
PlanDao planDao = new PlanDao();
Plan plan = planDao.getPlanById(Integer.parseInt(planId));
if (plan != null) {
request.setAttribute("plan", plan);
request.getRequestDispatcher("/planDetails.jsp").forward(request, response);
}
}
}
}2.2 编写 planDetails.jsp 页面 以下是一个简单的 planDetails.jsp 页面,用于显示从数据库中查询到的计划信息。<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
计划详情
<%-- 使用 EL 表达式显示计划信息 --%>计划 ID: ${plan.planId}
计划名称: ${plan.planName}
计划描述: ${plan.planDescription}
开始日期: ${plan.startDate}
结束日期: ${plan.endDate}
`

浙公网安备 33010602011771号