JSP-基础语法的解释

每个语言都有它自己的语法,JSP作为Java动态web的实现,它有着它自己扩充的一些语法,当然它里面支持Java的所有语法。

JSP注释

<%--JSP注释内容--%>

在JSP中还能使用HTML的注释方法:

<!--HTML注释内容-->

两者的区别就是,HTML的注释会显示到客户端,但是JSP的注释不会显示到客户端。

JSP脚本片段

<%--JSP嵌入java代码--%>
<%
	//这里面可以直接编写Java代码,和平时的Java可以一致
	//这里面声明的Java代码最终都会被生成到_jspService()方法中
%>

我们在JSP的原理中已经明确知道了它的运行原理,它会将这其中的Java代码按顺序生成到对应的文件中,所以我们在一个JSP页面中利用这种方式可以实现Java代码的编写。

JSP表达式

<%--JSP输出表达式:用于程序向客户端的输出--%>
<%=java变量或者表达式%>

<%--JSP输出表达式:相当于如下java代码--%>
<%
	response.getWriter().write(表达式或变量的内容转字符串);

%>

这个JSP的表达式就是用来向客户端直接输出JSP中Java变量或者Java表达式的值。

JSP声明

<%--JSP声明--%>
<%!
	//这里面也是Java代码,但是这里面是用于声明该JSP生成的对应类中的成员
	//可以声明成员变量,也可以声明成员方法,还能静态代码块...
%>

它一般用于声明该JSP中的成员。

举例如下:
先定义一个学生类:

package cn.ara.pojo;

public class Student {

    private int id;
    private String name;
    private String sex;
    private int age;
    
    //构造方法、geter和setter省略

}

定义一个JSP页面:

<%--导入该JSP所需的包--%>
<%@ page import="java.util.ArrayList" %>
<%@ page import="cn.ara.pojo.Student" %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>JSP首页</title>
</head>
<body>

<%--JSP声明 start--%>
<%!
    static {
        System.out.println("这是该类中的静态代码块");
    }

    private String author = "Ara_Hu";

    public void myMethod() {
        System.out.println("这是" + author + "声明的方法");
    }
%>
<%--JSP声明 end--%>

<%--这是JSP的注释--%>
<!--这是HTML的注释-->

<%--JSP脚本片段 start--%>
<%
    //模拟查询数据库的数据
    ArrayList<Student> students = new ArrayList<>();
    students.add(new Student(1, "小明", "男", 18));
    students.add(new Student(2, "小红", "女", 19));
    students.add(new Student(3, "小刚", "男", 18));
    students.add(new Student(4, "小Ara", "男", 20));
    students.add(new Student(5, "小胡", "男", 20));

%>
<%--JSP脚本片段 end--%>

<table border="1px">
    <thead>
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>性别</th>
        <th>年龄</th>
    </tr>
    </thead>
    <tbody>

    <%--嵌套语句循环输出数据 start--%>
    <%
        for (Student student : students) {
    %>
    <tr>
        <th><%=student.getId()%>
        </th>
        <th><%=student.getName()%>
        </th>
        <th><%=student.getSex()%>
        </th>
        <th><%=student.getAge()%>
        </th>
    </tr>
    <%
        }
    %>
    <%--嵌套语句循环输出数据 end--%>

    </tbody>
</table>

</body>
</html>

然后直接启动Tomcat运行,效果如下:
在这里插入图片描述
我们发现成功的将模拟的数据遍历在客户端了,而且我们还发现,我们审查元素时,看不到一点我们编写的Java代码,并且也没有看到我们声明的JSP注释。

我们可以直接看该JSP生成的java文件:

在这里插入代码片

在这里插入图片描述
我们发现我们在JSP声明中的代码直接放在了该类的成员中。

我们编写的其他Java脚本和HTML代码都被整理到了_jspService方法中。

虽然JSP现在已经过时了,但是博主认为,学习本该如此,我们也应该了解一下我们的前辈为我们留下的东西。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值