Skip to content

JSP语法

原理

tomcat等web容器会把jsp文件编译为.class文件运行,最终将响应结果返回给客户端。

JSP本质上就是一个servlet类,编译器会编译成servlet代码,查看字节码就知道了

普通脚本

jsp普通脚本可以编写java语句,变量,方法或表达式。

text
<% java代码 %>

例如:

jsp
<%
    System.out.println("测试输出");
%>

控制台直接输出

声明脚本

text
<%! 定义变量,函数 %>

jsp与servlet关系

  • 在容器中,jsp会转换成servlet执行
  • jsp是servlet的一种高级封装,本质上还是servlet

变量赋值

text
<%= 变量名 %>

例如:

jsp
<%= request.getParameter("name") %>

注释

javascript
<!-- html注释 -->
<%-- jsp注释 --%>

<%=……%>

输出变量值,可以在jsp页面中输出变量值。

例如:

jsp
<%= "Hello, " + request.getParameter("name") + "!" %>

<%!……%>

定义变量,函数,可以在jsp页面中使用。

例如:

jsp
<%!
    public int add(int a, int b) {
        return a + b;
    }
%>

<%……%>

定义代码块,可以在jsp页面中执行。

例如:

jsp
<%
    for(int i=0; i<10; i++) {
        out.println(i);
    }
%>

<%@……%>

定义指令,可以在jsp页面中执行。

例如:

jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

JSP指令

text
<%@ 指令 %>

例如:

jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

注释

text
<!--  -->  HTML注释
<%--  --%>  java注释
jsp使用HTML注释会不生效,jsp需使用Java注释