JSP: JSP的语法

1 JSP语法结构

  声明区

  程序代码区

  表达式

  注释

  指令和动作

  内置对象

2 声明区

  基本语法

    <%! %>

  说明:可以定义全局变量、方法、类

  

<%!
    int i;
    public void setName(){… …}
%>

 

3 程序代码区

  基本语法

    <%程序代码区%>

  说明:可以定义局部变量以及放入任何的Java程序代码

<%
    int j;
    for (int k=0; k<10; k++) {
        … …
    }
%>

4 表达式

  基本语法

    <%=… …%>

  说明:

    可以输出一个变量或一个具体内容,但=后面必须是字符串变量或者可以被转换成字符串的 表达式

  注意:

    不需要以;结束,只有一行

<%=“hello world”%>
<%=i+1%>

案例题目

使用for循环输出一个html语言的表格,具体表头如下:
id    name       age      salary
1     1           1         1
2     2           2         2
...
5     5           5         5

 

5 注释

格式:
<!--… …--> HTML文件的注释,浏览器可以查看到
<%--… …--%> JSP文件的注释,浏览器看不到
<%//… …%> Java语言中的单行注释,浏览器看不到
<%/*… …*/%> Java语言中的多行注释,浏览器看不到
注释的内容不会被执行

.

6 指令

指令格式:

  <%@指令 属性=“属性值”%>

指令的属性可以设定多个

JSP常用指令有:page、taglib、include

(1)page指令

page指令用于导包,和设置一些页面属性,常用属性如下:

import       导入相应的包,惟一允许在同一文档中多次出现的属性
contentType  设置Content-Type响应报头,标明即将发送到浏览器的文档类型
pageEncoding 设置页面的编码
language     指定页面使用的语言
session      控制页面是否参与HTTP会话
errorPage    处理当前页面中抛出但未被捕获的任何异常
isErrorPage  当前页是否可以作为其他页面的错误处理页面

(2)taglib指令

taglib指令用来扩展JSP程序的标签元素,引入其他功能的标签库文件

<!-- prefix属性用于指定库前缀 -->
<!-- uri属性用于指定库的标识 -->
<%@taglib uri=“tagLibary” prefix=“prefix”%>

(3)include指令

include指令用于引入另一个JSP程序或HTML文件等,格式如下:

<%@include file=“被包含的文件地址%>

JSP引擎,会在JSP文件的转换时期,先把file属性设定的文件包含进来,然后开始执行转换、编译的工作

7 动作

(1)jsp:include和jsp:param 动作

    jsp:include动作用于引入另一个JSP程序或HTML文件等

    执行到include时,被include的文件才会被编译

    如果include的是jsp文件,那它不会被转换成Servlet文件

<jsp:include page=“URLSpec” flush=“true”/>
<jsp:include page=“URLSpec” flush=“true”>
    <jsp:param name=“key” value=“value”/>
</jsp:include>

 

(2)include指令和include动作的区别

  include指令,是在JSP程序的转换时期,就将file属性所指定的程序内容,嵌入再编译执行(静态包含)

  include动作,在转换时期是不会被编译的,只有在客户端请求时期被执行到,才会被动态的编译载入 (动态包含,推荐)

(3)jsp:forward和jsp:param 动作

  forward动作,用于在JSP中实现转发,将请求转发到另一个指定的JSP程序,或者Servlet中处理

<jsp:forward page=“urlSpec” flush=“true”/>
<jsp:forward page=“urlSpec”>
    <!-- 用于指定参数和其对应的值 -->
    <jsp:param name=“key” value=“value”/>
</jsp:forward>
原文地址:https://www.cnblogs.com/JasperZhao/p/15283241.html