JSP实用教程——第二章JSP语法整理总结

目录

前言

2.1 JSP页面的基本结构

2.2 声明变量和定义方法

2.3 Java程序片

2.4 Java表达式

2.5 JSP中的注释

2.6 JSP指令标记

        2.6.1 page指令标记

        2.6.2 include指令标记

2.7 JSP动作标记

        2.7.1 include动作标记

        2.7.2 param动作标记

        2.7.3 forward动作标记

        2.7.4 useBean动作标记

总结


前言

        本章难点为Java程序片JSP动作标记


2.1 JSP页面的基本结构

        在传统的HTML页面文件中加入Java程序片和JSP标记就构成了一个JSP页面。一个JSP页面可由5种元素组合而成。

  • 普通的HTML标记和JavaScript标记
  • JSP标记,如指令标记、动作标记。
  • 变量和方法的声明
  • Java程序片
  • Java表达式

2.2 声明变量和定义方法

(1)声明变量

<%!    声明变量语句(如int i = 0);

%>

        习惯将上述内容置于JSP页面指令之后,<HTML>之前,也可写在<HTML>与</HTML>

之间。特别的是该"<%!"与"%>声明的变量在整个JSP页面都有效,与它在页面的位置无关。

(2)定义类和方法

        下面举了2个例子,简单的演示了如何定义方法和类。

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<html>
<body>
<%!
  // 定义一个方法
  int add(int a, int b) {
    return a + b;
  }

  // 调用方法
  int result = add(2, 3);
%>
<h1>结果: <%= result %></h1>
</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<html>
<body>
<%!
  // 定义一个类
  class Person {
    String name;
    int age;

    Person(String name, int age) {
      this.name = name;
      this.age = age;
    }

    String getName() {
      return name;
    }

    int getAge() {
      return age;
    }
  }

  // 创建一个Person对象并调用其方法
  Person person = new Person("RWG35", 21);
%>
<h1>姓名: <%= person.getName() %></h1>
<h1>年龄: <%= person.getAge() %></h1>
</body>
</html>

        

2.3 Java程序片 

        Java程序片嵌套在<%%> 标签之间,这是JSP的标准语法用于包含Java代码。

        以下是一个简单的JSP页面示例,其中包含了一个Java程序片:

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<html>
<body>
  <h1>Hello, JSP!</h1>
  <% // 这是一个Java程序片
     String name = "RWG35";
     out.println("Welcome, " + name + "!");
  %>
</body>
</html>

         一个JSP页面可以有许多程序片,这些程序片将被Tomcat服务器按顺序执行。在程序片中声明的变量称作JSP页面的局部变量。局部变量的有效范围与其声明的位置有关,即局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。

        

2.4 Java表达式

        可以在“<%=”和“%>之间插入一个可求值的表达式。

示例:

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<html>
<body>
  <h1>欢迎!</h1>
  <p>1 + 2 的结果是:<%= 1 + 2 %></p>
</body>
</html>

 

2.5 JSP中的注释

        注释可以增强JSP页面的可读性,便于后期维护。

用法:

<!-- 注释内容 -->

2.6 JSP指令标记

        2.6.1 page指令标记

        JSP中可以使用 page 指令标签来设置 JSP 页面的属性和配置。

page 指令标签通常放置在 JSP 页面的开头,位于 <%@ ... %> 标签中,用于指定页面级别的属性和配置信息,例如页面的编码、缓存设置、错误页面等。page指令的作用在整个JSP页面都有效,与它在页面的位置无关。

        以下是几种常用的page指令标签属性:

  • language:指定在 JSP 页面中使用的脚本语言。例如:<%@ page language="java" %>

  • contentType:指定响应的内容类型和编码。例如:<%@ page contentType="text/html; charset=UTF-8" %>

  • import:导入 Java 类和包。可以多次使用,多个导入之间使用逗号分隔。例如:<%@ page import="java.util.*, com.example.*" %>

  • session:指定是否使用 HttpSession 对象。默认值为 "true",表示使用。例如:<%@ page session="true" %>

  • buffer:指定输出缓冲区的大小,单位为 KB。例如:<%@ page buffer="8kb" %>

  • isThreadSafe:指定页面是否线程安全。默认值为 "true",表示线程安全。例如:<%@ page isThreadSafe="false" %>

  • info:提供对 JSP 页面的描述信息。例如:<%@ page info="This is a sample JSP page" %>

        2.6.2 include指令标记

        include 指令标签用于在页面中包含其他页面的内容,类似于其他编程语言中的 "include" 或 "import" 功能。include 指令标签的语法如下:

<%@ include file="文件名的URL" %>

        其中,file 属性指定了要包含的文件的路径,可以是相对路径或绝对路径。被包含的文件可以是 JSP 页面、HTML 文件或其他文本文件。

2.7 JSP动作标记

        2.7.1 include动作标记

        示例:

<jsp:include page="header.jsp" />

        2.7.2 param动作标记

        用于设置传递给被包含或者转发页面的参数,类似于request.setAttribute() 的功能,不能独立使用,必须作为jsp:include、jsp:forward标记的子标记来使用。

        示例:

<jsp:param name="username" value="RWG35" />
<jsp:param name="age" value="21" />

        2.7.3 forward动作标记

        用于将请求转发到其他页面或者Servlet,类似于RequestDispatcher.forward() 的功能。

        示例:

<jsp:forward page="error.jsp" />

        2.7.4 useBean动作标记

        用于创建或者获取JavaBean对象,类似于在Java代码中使用new关键字创建对象的功能。

        示例:

<jsp:useBean id="user" class="com.example.User" scope="request" />

  • 18
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值